04.中級(jí)變量操作

一般報(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容