2020-04-16 R學(xué)習(xí)5

熱圖

EXCEL文件要轉(zhuǎn)化為TXT格式,才能被R讀取
熱圖不但能用顏色直觀的展示基因的表達量的高低促王,并且可以通過層級聚類,在二個維度上分別對基因和樣本進行聚集

關(guān)鍵

關(guān)鍵.png

安裝pheatmap包

install.packages("pheatmap")
library(pheatmap)   #什么都沒顯示表示安裝成功

讀取數(shù)據(jù)

data = read.table("gene_exp.xls",header=T,row.names=1,sep="\t")  #讀取數(shù)據(jù)
dim(data)  #檢查數(shù)據(jù),顯示多少行劝贸,多少列
exp = data[,1:11]   #截取表達數(shù)據(jù),只要所要行的1-11列
dim(exp)   #檢查數(shù)據(jù)逗宁,這個時候應(yīng)該顯示所有行的1-11列
讀取數(shù)據(jù).png

熱圖繪制pheatmap()

pheatmap(exp)   #繪制exp的熱圖
熱圖1.png

數(shù)據(jù)處理——均一化

scale()  #均一化參數(shù)
取值”row”,”column”和”none”   #以行映九、列、無均一化瞎颗,一般默認(rèn)無件甥,根據(jù)表格選擇取值
均一化.png
pheatmap(exp,scale="column")  #以列均一化捌议,很丑,而且不能表達出基因間的差異性
熱圖2.png
pheatmap(exp,scale="row")  #以行為均一化引有,即以基因為標(biāo)準(zhǔn)瓣颅,尋找基因間的差異
熱圖3.png

美化

改變邊框顏色(一般不改顏色比較好)

pheatmap(exp,scale="row",border="green")   #邊框顏色變?yōu)榫G色
pheatmap(exp,scale="row",border=NA)  #邊框沒有顏色

邊框.png

改變字體大小(視情況而定)

pheatmap(exp,scale="row",border=NA,fontsize=7)  #改變字體大小為7

字體.png

改變顏色

pheatmap(exp,scale="row",border=NA,fontsize=7,color=c("green", "blue", "red"))  #將顏色從高到低分為紅譬正,藍宫补,綠,最高為紅色导帝,最低為綠色

丑.png

定義自己的漸變顏色colorRampPalette()

colorRampPalette()
redgreen=colorRampPalette(c("green","black","red"))(100)  #將綠守谓、紅從低到高分為漸變的100個顏色
pheatmap(exp,scale="row",border=NA,fontsize=7,color=redgreen)  #繪制自己定義的顏色的熱圖

熱圖4.png

一般不用紅綠色,因為紅綠色盲您单,根據(jù)具體要求來完成
圖例顏色漸變(視情況而定)bias()
顏色.png

bias.png

colors=colorRampPalette(c("green","black","red"),bias=4.5)(100)  #圖例大值一段會占更多范圍
pheatmap(exp,scale="row",border=NA,fontsize=7,color=colors)
bias1.png

常見函數(shù)

是否顯示列名或者行名: show_rownames和show_colnames
是否做聚類: cluster_rows和cluster_cols,視情況而定聚不聚類
設(shè)置聚類樹的高度: treeheight_row和treeheight_col
是否顯示圖例:legend
舉個例子

pheatmap(exp,scale="row",border=NA,fontsize=10,color=redgreen,show_rownames=F,show_colnames=T,cluster_rows=T,cluster_cols=T, treeheight_row=0, treeheight_col =0,legend=F) 
#不顯示行名斋荞,顯示列名,行列都聚類虐秦,聚類數(shù)行列都為0平酿,不顯示圖例
other.png

顯示每個小塊的值 display_numbers = TRUE

pheatmap(exp,scale="row",fontsize=10,show_rownames=F,display_numbers = TRUE)
display.png

根據(jù)樹聚集結(jié)果分割

cutree_rows, cutree_cols 這兩個參數(shù),是根據(jù)樹分類結(jié)果悦陋,來分開間隔

pheatmap(exp,scale="row",fontsize=10, show_rownames=F,cutree_rows=2) # 行方向蜈彼,按照樹聚類分為2份
pheatmap(exp,scale="row",fontsize=10, show_rownames=F, cutree_cols=3)  # 列方向,按照樹聚類分為3份
樹聚類.png

添加自定義間隔

gaps_col和gaps_row參數(shù),用這兩個參數(shù)時俺驶,對應(yīng)的方向不能進行聚類

pheatmap(exp,scale="row",fontsize=10,show_rownames=F,cluster_cols=F,gaps_col=5)   #在第五列分隔
gaps.png

添加顏色條

annotation_row, annotation_col和annotation_colors參數(shù)
定義顏色條數(shù)據(jù)框

annotation_col=data.frame(type=c(rep("Case",5),rep("Control",6))) #新建一個數(shù)據(jù)框幸逆,共11個,前5個命名為case暮现,后6個命名為control
rownames(annotation_col) = colnames(exp)  #將exp中的列名賦值給它

col.png

繪制含顏色的熱圖

pheatmap(exp,scale="row",fontsize=10,show_rownames=F,cluster_cols=F,gaps_col=5,annotation_col=annotation_col)  

cols.png

調(diào)整顏色條的顏色

anno_colors=list(type=c(Case="#1B9E77",Control="#D95F02"))
pheatmap(exp,scale="row",fontsize=10,show_rownames=F,cluster_cols=F,gaps_col=5,annotation_col=annotation_col,annotation_colors=anno_colors)
anno.png

保存熱圖filename=(xx.pdf/png)

pheatmap(exp,scale="row",fontsize=10,show_rownames=F,cluster_cols=F,gaps_col=5,
annotation_col=annotation_col,annotation_colors=anno_colors,annotation_legend=F,display_number=T, filename="heatmap.pdf")
# 去掉顏色條的圖例并保持圖片
eg.png

多級顏色條

annotation_col=data.frame(type=c(rep("Case",5),rep("Control",6)),age=c(24,32,46,32,35,18,25,35,18,25,23),sex=c("male","male","female","female","female","male","female","female","female","male","female"))
rownames(annotation_col) = colnames(exp)
多級.png
pheatmap(exp,scale="row",fontsize=10,show_rownames=F,cluster_cols=F,gaps_col=5,annotation_col=annotation_col)
eg2.png

計算相關(guān)系數(shù)

舉例

library(pheatmap) #加載pheatmap包
exp=read.table("exp_top30.original.txt",header=T,row.names = 1,sep = "\t") #讀數(shù)據(jù)
matrix=cor(t(exp))  #計算相關(guān)系數(shù)还绘,只能以列來計算,所以轉(zhuǎn)置一下(如果基因就是列上,就不用轉(zhuǎn)置)
write.table(matrix,"coefficient_matrix.txt",sep="\t")  #將相關(guān)系數(shù)輸出到電腦上保存
pheatmap(matrix,cluster_rows=F,cluster_cols=F,display_numbers=T)  #行列都不聚類栖袋,顯示每個格的值
相關(guān)系數(shù).png

補充

補充.png

數(shù)據(jù)預(yù)處理.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拍顷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塘幅,更是在濱河造成了極大的恐慌昔案,老刑警劉巖泣棋,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件兜看,死亡現(xiàn)場離奇詭異,居然都是意外死亡狂塘,警方通過查閱死者的電腦和手機匾乓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門呼伸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钝尸,你說我怎么就攤上這事括享。” “怎么了珍促?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵铃辖,是天一觀的道長。 經(jīng)常有香客問我猪叙,道長娇斩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任穴翩,我火速辦了婚禮犬第,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芒帕。我一直安慰自己歉嗓,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布背蟆。 她就那樣靜靜地躺著鉴分,像睡著了一般。 火紅的嫁衣襯著肌膚如雪带膀。 梳的紋絲不亂的頭發(fā)上志珍,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音垛叨,去河邊找鬼伦糯。 笑死,一個胖子當(dāng)著我的面吹牛嗽元,可吹牛的內(nèi)容都是我干的敛纲。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼还棱,長吁一口氣:“原來是場噩夢啊……” “哼载慈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起珍手,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤办铡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后琳要,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寡具,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年稚补,在試婚紗的時候發(fā)現(xiàn)自己被綠了童叠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖厦坛,靈堂內(nèi)的尸體忽然破棺而出五垮,到底是詐尸還是另有隱情,我是刑警寧澤杜秸,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布放仗,位于F島的核電站,受9級特大地震影響撬碟,放射性物質(zhì)發(fā)生泄漏诞挨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一呢蛤、第九天 我趴在偏房一處隱蔽的房頂上張望惶傻。 院中可真熱鬧,春花似錦其障、人聲如沸银室。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粮揉。三九已至,卻和暖如春抚笔,著一層夾襖步出監(jiān)牢的瞬間扶认,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工殊橙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辐宾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓膨蛮,卻偏偏與公主長得像叠纹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子敞葛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容