基于R的統(tǒng)計習(xí)題30個

統(tǒng)計學(xué)是一門很深的學(xué)問赫段,這里僅僅是出題幫助大家熟練使用R語言來學(xué)習(xí)統(tǒng)計學(xué)知識糯笙,具體知識點需要更深入閱讀書籍或者教程:

基礎(chǔ)概念

需要掌握R內(nèi)置數(shù)據(jù)集及R包數(shù)據(jù)集

理解 定性變量(qualitative variable) 和 定量變量(quantitative variable)

定量數(shù)據(jù)的集中趨勢指標(biāo)主要是:眾數(shù)豺憔、分位數(shù)和平均數(shù)

定量數(shù)據(jù)的離散趨勢指標(biāo)主要是:極差,方差和標(biāo)準(zhǔn)差焕阿,標(biāo)準(zhǔn)分?jǐn)?shù)暮屡,相對離散系數(shù)(變異系數(shù))褒纲,偏態(tài)系數(shù)與峰態(tài)系數(shù)

Q1: 載入R中自帶的數(shù)據(jù)集 iris钥飞,指出其每列是定性還是定量數(shù)據(jù)

Q2: 對數(shù)據(jù)集 iris的所有定量數(shù)據(jù)列計算集中趨勢指標(biāo):眾數(shù)读宙、分位數(shù)和平均數(shù)

Q3:對數(shù)據(jù)集 iris的所有定性數(shù)據(jù)列計算水平及頻次

Q4:對數(shù)據(jù)集 iris的所有定量數(shù)據(jù)列計算離散趨勢指標(biāo):方差和標(biāo)準(zhǔn)差等

Q5:計算數(shù)據(jù)集 iris的前兩列變量的相關(guān)性唇兑,提示cor函數(shù)可以選擇3種methods

Q6:對數(shù)據(jù)集 iris的所有定量數(shù)據(jù)列內(nèi)部zcore標(biāo)準(zhǔn)化桦锄,并計算標(biāo)準(zhǔn)化后每列的平均值和標(biāo)準(zhǔn)差

Q7:計算列內(nèi)部zcore標(biāo)準(zhǔn)化后 iris的前兩列變量的相關(guān)性

Q8: 根據(jù)數(shù)據(jù)集 iris的第五列拆分?jǐn)?shù)據(jù)集后重復(fù)上面的Q2到Q7問題

Q9:載入R中自帶的數(shù)據(jù)集 mtcars结耀,重復(fù)上面的Q1到Q7個問題
Q10: 載入r包airway并且通過assay函數(shù)拿到其表達(dá)矩陣后計算每列之間的相關(guān)性

關(guān)于 airway 代碼如下图甜,需要理解:

options(stringsAsFactors = F)
library(airway)
data(airway)
# 這里需要自行學(xué)習(xí)bioconductor里面的RangedSummarizedExperiment對象
airway 
RNAseq_expr=assay(airway)
colnames(RNAseq_expr) 
RNAseq_expr[1:4,1:4] 
# RNAseq_expr 是一個數(shù)值型矩陣,屬于連續(xù)性變量嚼摩,可以探索眾數(shù)低斋、分位數(shù)和平均數(shù) 膊畴,極差,方差和標(biāo)準(zhǔn)差等統(tǒng)計學(xué)指標(biāo)
RNAseq_gl=colData(airway)[,3]
table(RNAseq_gl)

是 8個樣本的RNA-seq數(shù)據(jù)的counts矩陣病游,這8個樣本分成2組唇跨,每組是4個樣本稠通, 分別是 trt 和 untrt 組。

通過上面的代碼买猖,我們得到了對airway數(shù)據(jù)集的RNA-seq數(shù)據(jù)的counts矩陣改橘,命名為RNAseq_expr下面會用得到。

表達(dá)矩陣相關(guān)

首先了解各種統(tǒng)計分布: [link]https://mp.weixin.qq.com/s/uly4jlQomk9LZlHyknkNdg 在R語言的實現(xiàn)方式玉控。

Q1: 把RNAseq_expr第一列全部加1后取log2后計算平均值和標(biāo)準(zhǔn)差

tmp=log2(RNAseq_expr[,1]+1)
mean(tmp)
sd(tmp)

Q2: 根據(jù)上一步得到平均值和標(biāo)準(zhǔn)差生成同樣個數(shù)的隨機的正態(tài)分布數(shù)值

a=rnorm(length(tmp),mean = mean(tmp),sd = sd(tmp))
a=sort(a)
plot(a)
points(sort(tmp))

Q3: 刪除RNAseq_expr第一列低于5的數(shù)據(jù)后飞主,重復(fù)Q1和Q2

tmp=RNAseq_expr[,1]
tmp=tmp[tmp>5]
tmp=log2(tmp)
a=rnorm(length(tmp),mean = mean(tmp),sd = sd(tmp))
a=sort(a)
plot(a)
points(sort(tmp))

Q4: 基于Q3對RNAseq_expr的第一列和第二列進(jìn)行T檢驗

x=RNAseq_expr[,1]
x=x[x>5]
x=log2(x)

y=RNAseq_expr[,2]
y=y[y>5]
y=log2(y)

t.test(x,y)
library(ggpubr)
df=data.frame(value=c(x,y),
 group=c(rep('x',length(x)),rep('y',length(y))))
ggboxplot(df, y = "value", x = "group")

Q5: 取RNAseq_expr行之和最大的那一行根據(jù)分組矩陣進(jìn)行T檢驗

pos=which.max(rowSums(RNAseq_expr))
t.test(RNAseq_expr[pos,]~RNAseq_gl)
pos

Q6: 取RNAseq_expr的MAD最大的那一行根據(jù)分組矩陣進(jìn)行T檢驗

pos=which.max(apply(RNAseq_expr,1,mad))
t.test(RNAseq_expr[pos,]~RNAseq_gl)
pos

Q7: 對RNAseq_expr全部加1后取log2后重復(fù)Q5和Q6

RNAseq_expr=log2(RNAseq_expr+1)
pos=which.max(rowSums(RNAseq_expr))
pos
t.test(RNAseq_expr[pos,]~RNAseq_gl)
pos=which.max(apply(RNAseq_expr,1,mad))
pos
t.test(RNAseq_expr[pos,]~RNAseq_gl)

看看是不是基因變化了,統(tǒng)計結(jié)果也變化了

Q8: 取RNAseq_expr矩陣的MAD最高的100行高诺,對列和行分別進(jìn)行層次聚類

cg=names(tail(sort(apply(RNAseq_expr,1,mad)),100))
dat=RNAseq_expr[cg,]
plot(hclust(dist(t(dat))))
colnames(dat)
RNAseq_gl
plot(hclust(dist( dat )))

檢查一下聚類結(jié)果跟樣本的處理信息是否能對應(yīng)

Q9: 取RNAseq_expr矩陣的SD最高的100行碌识,對列和行分別進(jìn)行層次聚類

Q10: 對Q8矩陣按照行和列分別歸一化并且熱圖可視化

cg=names(tail(sort(apply(RNAseq_expr,1,mad)),100))
dat=RNAseq_expr[cg,]
pheatmap::pheatmap(scale(dat))
pheatmap::pheatmap(t(scale(t(dat))))

統(tǒng)計檢驗相關(guān)

這里需要對前面的RNAseq_expr矩陣進(jìn)行一定程度的過濾,主要是過濾那些每一列都為0的行筏餐。

options(stringsAsFactors = F)
rm(list=ls())
library(airway) 
RNAseq_expr=assay(airway)
e1=RNAseq_expr[apply(RNAseq_expr,1,function(x) sum(x>0)>1),] 
colnames(RNAseq_expr) 
RNAseq_gl=colData(airway)[,3]
table(RNAseq_gl)

上面的 e1 矩陣下面的習(xí)題就用得到惠呼。

Q1: 對e1每一行獨立根據(jù)分組矩陣進(jìn)行T檢驗趟畏,檢查為什么有些行T檢驗失敗

apply(e1, 1, function(x){
 t.test(x~RNAseq_gl)$p.value
})

Q2: 找出T檢驗失敗的行并且從e1矩陣剔除掉

e1_a=e1[,RNAseq_gl=='trt']
e1_b=e1[,RNAseq_gl=='untrt']
a_filter=apply(e1_a, 1,function(x) sd(x)>0)
b_filter=apply(e1_b, 1,function(x) sd(x)>0)
table(a_filter,b_filter)
e1=e1[a_filter | b_filter,]

Q3: 對過濾后的e1矩陣進(jìn)行每一行獨立根據(jù)分組矩陣進(jìn)行T檢驗

Q4: 對e1矩陣進(jìn)行加1后log2的歸一化命名為e2再對每一行獨立根據(jù)分組矩陣進(jìn)行T檢驗

Q5: 對e1,e2的T檢驗P值做相關(guān)性分析

p1=apply(e1, 1, function(x){
 t.test(x~RNAseq_gl)$p.value
}) 
e2=log(e1+1)
p2=apply(e2, 1, function(x){
 t.test(x~RNAseq_gl)$p.value
}) 
plot(p1,p2)
cor(p1,p2)

寫到這里猎莲,我突然間感覺自己代碼很壯觀,也不知道為什么身笤,就覺得自己寫代碼很帥氣脱篙,后面的5個題目就不寫啦适刀,這些已經(jīng)夠大家用的笔喉。

我這里并沒有提到基因和樣本這樣的詞語吧彪,就是希望其他領(lǐng)域?qū)WR的朋友也可以看看怨酝,如果生物信息學(xué)領(lǐng)域赡艰,這樣的簡單T檢驗是有很多不合理的地方揍堕,比如文庫大小芹血,比如基因表達(dá)量分布等等幔烛。

本文作者:生信技能樹團隊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末言询,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖腕巡,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件车伞,死亡現(xiàn)場離奇詭異谦去,居然都是意外死亡,警方通過查閱死者的電腦和手機窃诉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塑猖,“玉大人,你說我怎么就攤上這事令花“绫蹋” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵嗜愈,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么轰豆? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮云茸,結(jié)果婚禮上嗤疯,老公的妹妹穿的比我還像新娘屋谭。我一直安慰自己悔耘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布秧耗。 她就那樣靜靜地躺著,像睡著了一般霉猛。 火紅的嫁衣襯著肌膚如雪伏嗜。 梳的紋絲不亂的頭發(fā)上军熏,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音,去河邊找鬼柄沮。 笑死,一個胖子當(dāng)著我的面吹牛拯欧,可吹牛的內(nèi)容都是我干的详囤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼藏姐!你這毒婦竟也來了隆箩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤羔杨,失蹤者是張志新(化名)和其女友劉穎捌臊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兜材,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡理澎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了曙寡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糠爬。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卵皂,靈堂內(nèi)的尸體忽然破棺而出秩铆,到底是詐尸還是另有隱情,我是刑警寧澤灯变,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布殴玛,位于F島的核電站,受9級特大地震影響添祸,放射性物質(zhì)發(fā)生泄漏滚粟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一刃泌、第九天 我趴在偏房一處隱蔽的房頂上張望凡壤。 院中可真熱鬧,春花似錦耙替、人聲如沸亚侠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硝烂。三九已至,卻和暖如春铜幽,著一層夾襖步出監(jiān)牢的瞬間滞谢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工除抛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狮杨,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓到忽,卻偏偏與公主長得像橄教,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345