一般報(bào)錯(cuò)都是因?yàn)閷?duì)變量理解不準(zhǔn)
上一節(jié)課的read.table以及調(diào)整參數(shù)只適用于初學(xué)者, 而述廉之后可以使用readline.()
sort(a$MBases)[1]
sort(a$MBases), decreasing=T)[1]
#在變量a(類似一個(gè)表達(dá)矩陣),中的某一列選擇最大值或最小值
max(a$MBases)
min(a$MBases)
fivenum(a$MBases)
R語(yǔ)言與其他語(yǔ)言不同,在簡(jiǎn)單運(yùn)算中不需要寫循環(huán)
a$MBases<5000
table(a$MBases<5000)
取得一定數(shù)值之后,可以回過(guò)去看閾值(例子中的5000)取的是否正確
如果閾值取得不對(duì),要回頭重新看數(shù)據(jù)的分布(組間分布,看是不是兩組要分開??;組內(nèi)分布,看閾值取到哪里)
boxplot(a$MBases~a$Assay_Type)
#返回結(jié)果是a矩陣中MBases列,中根據(jù)Assay_Type分為兩組,每一組的箱圖
微信圖片_20220314110333.jpg
RNA-seq與WXS要分開取閾值
修改循環(huán)代碼
for循環(huán)
for(i in 1:nrow(b)){
i <- 1
mean(as.numeric(b[i,]))
}
#1:nrow(b)是一個(gè)數(shù)組,nrow(b)代表b有多少行,默認(rèn)i在1:nrow(b)里面循環(huán)取值
#i可以取不同的值,mean進(jìn)行運(yùn)算
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(), 就可以返回計(jì)算結(jié)果
for(i in 1:nrow(b)){
print(mean(as.numeric(b[i,])))
}
#把i=1刪掉, 可以自己循環(huán)計(jì)算了
apply循環(huán)#主要針對(duì)矩陣, 數(shù)據(jù)框
apply(b, 1, function(x)){
mean(x) #mean就是function要做的操作,可以換成max等
})
x=as.numeric(b[1,])#只是取出b的第一行,并改為數(shù)值型
#apply(b是要操作的表格, 行=1, 列=2,對(duì)行/列進(jìn)行操作)
#這個(gè)函數(shù)可以簡(jiǎn)化
apply(b,1,max)
#目前不需要掌握
#apply可以簡(jiǎn)化的原因是它和for循環(huán)的循環(huán)原理不同,每一個(gè)循環(huán)的取值原理不同
head(rowMeans(b)) #這個(gè)是做好的函數(shù),不需要循環(huán)
自定義函數(shù)
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)
}
#定義了一個(gè)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)
#相當(dāng)于創(chuàng)造了BassbassU的函數(shù),并且BassbassU(b)就是對(duì)每一行進(jìn)行x[1]+x[2]-x[3]+x[4]+x[5]-x[6]的運(yùn)算
apply(b, 1, sd)
#計(jì)算b數(shù)據(jù)框中每一行的方差
sort(apply(b, 1, sd), decreasing=T)[1:50]
#sort是從小到大排,該函數(shù)取方差最大的前50
cg=names(sort(apply(b, 1, sd), decreasing=T)[1:50])
#拿到這些方差對(duì)應(yīng)的名字
R語(yǔ)言本質(zhì)上是在處理一些統(tǒng)計(jì)知識(shí)
R語(yǔ)言學(xué)習(xí)入門導(dǎo)航-特別版 (qq.com)
極客RrR<<-數(shù)據(jù)分析之道 - 連載 - 簡(jiǎn)書 (jianshu.com)
生物統(tǒng)計(jì)第一彈之統(tǒng)計(jì)基礎(chǔ)概念 (qq.com)
The Bioconductor 2018 Workshop Compilation
