美文网首页
04.中级变量操作

04.中级变量操作

作者: BassBassU | 来源:发表于2022-03-13 11:20 被阅读0次

一般报错都是因为对变量理解不准

上一节课的read.table以及调整参数只适用于初学者, 而述廉之后可以使用readline.()

sort(a$MBases)[1]
sort(a$MBases), decreasing=T)[1]
#在变量a(类似一个表达矩阵),中的某一列选择最大值或最小值
max(a$MBases)
min(a$MBases)
fivenum(a$MBases)

R语言与其他语言不同,在简单运算中不需要写循环

a$MBases<5000
table(a$MBases<5000)

取得一定数值之后,可以回过去看阈值(例子中的5000)取的是否正确
如果阈值取得不对,要回头重新看数据的分布(组间分布,看是不是两组要分开取;组内分布,看阈值取到哪里)

boxplot(a$MBases~a$Assay_Type)
#返回结果是a矩阵中MBases列,中根据Assay_Type分为两组,每一组的箱图
微信图片_20220314110333.jpg

RNA-seq与WXS要分开取阈值

修改循环代码

for循环
for(i in 1:nrow(b)){
  i <- 1
  mean(as.numeric(b[i,]))
}
#1:nrow(b)是一个数组,nrow(b)代表b有多少行,默认i在1:nrow(b)里面循环取值
#i可以取不同的值,mean进行运算
for(i in 1:nrow(b)){
  i <- 2
  mean(as.numeric(b[i,]))
}
#mean这一行是视频中的例子,是function要做的操作,可以换成max等

for(i in 1:nrow(b)){
  i <- 1
  print(mean(as.numeric(b[i,])))
}
#加入print(), 就可以返回计算结果

for(i in 1:nrow(b)){
  print(mean(as.numeric(b[i,])))
}
#把i=1删掉, 可以自己循环计算了
apply循环#主要针对矩阵, 数据框
apply(b, 1, function(x)){
mean(x) #mean就是function要做的操作,可以换成max等
})
x=as.numeric(b[1,])#只是取出b的第一行,并改为数值型
#apply(b是要操作的表格, 行=1, 列=2,对行/列进行操作)
#这个函数可以简化
apply(b,1,max)
#目前不需要掌握
#apply可以简化的原因是它和for循环的循环原理不同,每一个循环的取值原理不同
head(rowMeans(b)) #这个是做好的函数,不需要循环

自定义函数

rowMax=function(x){
apply(x,1,max)}
rowMax(b)
for(i in 1:nrow(b)){
x=as.numeric(b[,1])
y=x[1]+x[2]-x[3]+x[4]+x[5]-x[6]
print(y)
}
#定义了一个function
BassbassU=function{
for(i in 1:nrow(b)){
x=as.numeric(b[,1])
y=x[1]+x[2]-x[3]+x[4]+x[5]-x[6]
print(y)
}
}
BassbassU(b)
#相当于创造了BassbassU的函数,并且BassbassU(b)就是对每一行进行x[1]+x[2]-x[3]+x[4]+x[5]-x[6]的运算
apply(b, 1, sd)
#计算b数据框中每一行的方差
sort(apply(b, 1, sd), decreasing=T)[1:50]
#sort是从小到大排,该函数取方差最大的前50
cg=names(sort(apply(b, 1, sd), decreasing=T)[1:50])
#拿到这些方差对应的名字

R语言本质上是在处理一些统计知识
R语言学习入门导航-特别版 (qq.com)
极客RrR<<-数据分析之道 - 连载 - 简书 (jianshu.com)
生物统计第一弹之统计基础概念 (qq.com)
The Bioconductor 2018 Workshop Compilation

相关文章

  • day38 R语言 中级变量操作

    第四课 中级变量操作 保存数据时去掉行名操作write.csv(b,file='test2.csv',row.na...

  • R语言学习

    1基本命令 2 外部数据导入导出 3 中级变量操作 4 热图 5 选取差异明显的基因的表达量矩阵绘热图 6 id转...

  • 【19.01.31复盘day47】

    【今日计划&完成情况】 01.练字(完成) 02.抄经(完成) 03.画画(完成) 04.阅读《变量》(完成) 0...

  • 【19.01.30复盘day46】

    【今日计划&完成情况】 01.练字(完成) 02.抄经(未完成) 03.画画(完成) 04.阅读《变量》(完成) ...

  • go指针

    定义 &变量 取地址操作 引用运算符 *指针变量 取值操作 解引用运算符 指针变量必...

  • Day1 python基础语法

    Day1 01.helloworld 02.基础语法 03.变量 04.运算符 05.进制转换 01.hellow...

  • Tensorflow简单计算操作

    常数操作以及变量操作,操作cpu、gpu选择

  • Day8 js操作

    01.DOM操作 02.事件绑定和事件冒泡 03.小事件 04.正则对象 05.表单对象 01.DOM操作 1、D...

  • 乐高EV3教育版-行驶的小车系列015-变量模块

    本节课,给同学们介绍如何编程中变量操作。变量是编程中用来存储计算内容的单元,通过对变量的操作,从而实现某些操作逻辑...

  • R语言可视化(四):频率直方图绘制

    04.直方图绘制 清除当前环境中的变量 设置工作目录 hist函数绘制频率直方图 ggplot2包绘制直方图 gg...

网友评论

      本文标题:04.中级变量操作

      本文链接:https://www.haomeiwen.com/subject/hychdrtx.html