R語言學習系列之“多變的熱圖”

公眾號“生信小課堂”

TCGA數(shù)據(jù)分析課程:生物信息學教學

前段時間我們更新過一篇推文熱圖系列1耗式,隸屬R語言學習系列棍郎,今天我們繼續(xù)熱圖系列2

導入數(shù)據(jù)

library(pheatmap)TEST=read.csv("TEST.csv",sep =',',header = T,row.names=1)

繪制默認熱圖

pheatmap(TEST)

歸一化

我們的示例數(shù)據(jù)基因差異很明顯杂靶,而且沒有離群值衣洁,當有一個極大值的時候郊丛,就不會有這樣的效果虫给,比如

TEST1=TESTTEST1[1,20]<-1000pheatmap(TEST1)

這樣完全看不出差異了,所以這個時候需要對數(shù)據(jù)進行標準化

#scale ="row"參數(shù)對行進行歸一化#clustering_method參數(shù)設定不同聚類方法辫封,默認為"complete",可以設定為#'ward','ward.D','ward.D2','single','complete','average','mcquitty','median'or'centroid'

pheatmap(TEST1,scale = "row")#按照行進行均一化

這樣就可以看清基因表達之間的差異了

聚類

pheatmap(TEST1,scale ="row",clustering_distance_rows ="correlation")

#表示行聚類使用皮爾森相關系數(shù)聚類硝枉,默認為歐氏距離"euclidean"

#可以對行,列聚類倦微,cluster_row行 ,cluster_col列

pheatmap(TEST,scale ="row",cluster_row=T,cluster_col=T)

設定cell 的大小

pheatmap(TEST, cellwidth = 10, cellheight = 5, fontsize = 10)#寬10妻味,長5,字體大小10

設定 text

#display_numbers = TRUE參數(shù)設定在每個熱圖格子中顯示相應的數(shù)值欣福,#number_color參數(shù)設置數(shù)值字體的顏色,#fontsize_number設置數(shù)字的大小pheatmap(TEST,?display_numbers?=TRUE,number_color?="black",fontsize_number=6)

#設定展示條件

pheatmap(TEST, display_numbers = matrix(ifelse(TEST > 6,"*",""), nrow(test)))#圖8#展示大于6的為*

設置 legend

#legend_breaks參數(shù)設定圖例顯示范圍责球,legend_labels參數(shù)添加圖例標簽

pheatmap(TEST, legend_breaks = -3:3)

#也可以去掉legend

pheatmap(TEST, legend= F)

設定 color

#自定義顏色 colorRampPalette

pheatmap(TEST, color = colorRampPalette(c("navy","white","firebrick3"))(100))

每一種顏色在R里面都有代碼,如下圖拓劝,我們可以不斷的嘗試直到畫出自己滿意的

顏色代碼網(wǎng)址:https://www.114la.com/other/rgb.htm

設置邊框

#?border_color參數(shù)設定每個熱圖格子的邊框色# border=TRIUE/FALSE參數(shù)是否要邊框線

pheatmap(TEST, border=FALSE)#不要邊框

設置注釋

#生成列的注釋

colnames(TEST)

annotation_col= data.frame(Type=factor(c(rep('cancer',10),rep('normal',10))))

rownames(annotation_col) =colnames(TEST)

#畫圖

pheatmap(TEST, annotation_col = annotation_col)

設定gap

pheatmap(TEST,scale ="row", annotation_col = annotation_col,gaps_row =25,cluster_rows =FALSE)

pheatmap(TEST,scale ="row", annotation_col = annotation_col,gaps_col =10,cluster_cols =FALSE)

pheatmap(TEST,scale ="row", annotation_col = annotation_col,gaps_col =10,cluster_cols =FALSE,gaps_row =25,cluster_rows =FALSE)

展示行或者列的label

labels_row = c("gene1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gene50")

pheatmap(TEST, annotation_col = annotation_col, labels_row = labels_row,cluster_rows = FALSE)

自己又只做了一個數(shù)據(jù)雏逾,得到下面的圖

library(pheatmap)TEST=read.csv("中國加油.csv",sep = ',',header = T,row.names=1)

pheatmap(TEST,cluster_cols=F,cluster_rows=F,show_colnames=F,show_rownames=F,legend = F)

下面是pheatmap包常見的函數(shù)

color表示顏色,賦值漸變顏色調(diào)色板colorRampPalette屬性

kmeans_k繪制熱圖的行聚類數(shù)郑临,如果是NA栖博,那么行不會聚類

scale表示值均一化的方向,或者按照行或列厢洞,或者沒有仇让,值可以是"row",? “column” 或者"none"

cluster_rows表示進行行的聚類,值可以是FALSE或TRUE

cluster_cols表示進行列的聚類躺翻,值可以是FALSE或TRUE

clustering_method表示聚類方法丧叽,值可以是hclust的任何一種,如"ward.D",“single”,? “complete”, “average”, “mcquitty”, “median”, “centroid”, “ward.D2”

border_color表示熱圖上單元格邊框的顏色公你,如果不繪制邊框踊淳,則使用NA

cellwidth表示每個單元格的寬度,若選擇NA則表示適應窗口

cellheight表示每個單元格的高度陕靠,若選擇NA則表示適應窗口

cutree_rows基于層次聚類(使用cutree)劃分行的簇數(shù)(如果未聚集行嚣崭,則忽略參數(shù))

cutree_cols基于層次聚類(使用cutree)劃分列的簇數(shù)(如果未聚集行,則忽略參數(shù))

treeheight_row行的樹的高度,

treeheight_col列的樹的高度

legendTRUE或者FALSE懦傍,表示是否顯示圖例

legend_breaks設置圖例的斷點

legend_labelslegend_breaks對應的標簽例

annotation_row行的分組信息????

annotation_col列的分組信息

annotation_colors用于手動指定annotation_row和annotation_col? track顏色的列表????

annotation_legend

是否顯示圖例的名稱

annotation_names_row

是否顯示行注釋的名稱????

annotation_names_col是否顯示列注釋的名稱

show_rownames是否顯示行名

show_colnames是否顯示列名

main圖的名字

fontsize圖的字體大小????

fontsize_row行名的字體大小雹舀,默認與圖的字體大小相同

fontsize_col列名的字體大小,默認與圖的字體大小相同

angle_col列標簽的角度粗俱,可選擇 (0, 45, 90, 270 and 315)

display_numbers表示是否將數(shù)值顯示在熱圖的格子中????

number_format設置顯示數(shù)值的格式说榆,較常用的有"%.2f"(保留小數(shù)點后兩位),"%.1e"(科學計數(shù)法顯示寸认,保留小數(shù)點后一位)

number_color設置顯示內(nèi)容的顏色

fontsize_number設置顯示內(nèi)容的字體大小

labels_row代替行名的自定義標簽

labels_col代替列名的自定義標簽

na_col缺失值的顏色

好了签财,R語言熱圖系列第二篇就到這啦,需要測試文件的偏塞,在后臺回復“熱圖”兩個字即可拿到測試數(shù)據(jù)唱蒸。

公眾號“生信小課堂”

TCGA數(shù)據(jù)分析課程:生物信息學教學

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灸叼,隨后出現(xiàn)的幾起案子神汹,更是在濱河造成了極大的恐慌庆捺,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屁魏,死亡現(xiàn)場離奇詭異滔以,居然都是意外死亡,警方通過查閱死者的電腦和手機氓拼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門你画,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桃漾,你說我怎么就攤上這事坏匪。” “怎么了撬统?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵适滓,是天一觀的道長。 經(jīng)常有香客問我宪摧,道長粒竖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任几于,我火速辦了婚禮蕊苗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沿彭。我一直安慰自己朽砰,他們只是感情好,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布喉刘。 她就那樣靜靜地躺著瞧柔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睦裳。 梳的紋絲不亂的頭發(fā)上造锅,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機與錄音廉邑,去河邊找鬼哥蔚。 笑死,一個胖子當著我的面吹牛蛛蒙,可吹牛的內(nèi)容都是我干的糙箍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼牵祟,長吁一口氣:“原來是場噩夢啊……” “哼深夯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诺苹,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤咕晋,失蹤者是張志新(化名)和其女友劉穎雹拄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捡需,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡办桨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年筹淫,在試婚紗的時候發(fā)現(xiàn)自己被綠了站辉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡损姜,死狀恐怖饰剥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摧阅,我是刑警寧澤汰蓉,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站棒卷,受9級特大地震影響顾孽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜比规,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一若厚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜒什,春花似錦测秸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钞瀑,卻和暖如春沈撞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雕什。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工缠俺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人监徘。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓晋修,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凰盔。 傳聞我的和親對象是個殘疾皇子墓卦,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

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