大家好,有朋友在后臺問如何用R繪制聚類熱圖,其實繪制聚類圖的方法有很多,比如MeV軟件等等,我們今天看如何用R來繪制聚類圖。
首先我們看原始數據,原始數據有兩組,每組4個樣品,共八個樣品,每個樣品有35個microRNA,目的是對35個microRNA和8個樣品進行聚類。
將目標文件所在目錄通過setwd命令設置為當前工作目錄,并用getwd()查看目錄是否設置成功;設置成功后,利用read.table命令讀入目標文件(heatmap_example.txt,注意將文件保存為tab分隔的純文件文件txt),將第一行的樣本名設置為列名(header=T),將第一列設置為行名(row.names=1),通過head(data)查看文件前6行。
###安裝軟件包
install.packages('pheatmap')
install.packages('vegan')
###加載所需軟件包
library(pheatmap)
library(gplots)
library(vegan)
library(permute)
library(lattice)
###input target file
data<>
data<>
###計算樣品(或基因)間的距離,常用的計算距離函數如vegdist(包含在vegan包中),可以選擇的距離參數如” euclidean”,” jaccard”等,此處以bray-curtis距離為例(”bray”)。
drows<>
dcols<>
###調用pdf函數,用于將圖形保存到heatma.pdf中(可根據需要輸入其他文件名稱)。
pdf(file='heatmap.pdf',width=10,height=10)
###使用pheatmap函數畫圖
pheatmap(data,cellwidth = NA, cellheight =NA, treeheight_row = 50, treeheight_col = 50 ,color = colorRampPalette(c('green', 'black','red'))(100), scale='row', legend=TRUE,border_color=NA, fontsize_row=8, fontsize_col=10,clustering_distance_rows =drows, clustering_distance_cols = dcols, clustering_method='average',main='Heatmap')
###最后關閉圖形函數,返回R終端,即正常輸入界面
dev.off()
然后回車,就出現(xiàn)我們要的熱圖啦,繪制的聚類圖如下
本文所用數據和代碼下載鏈接:http://pan.baidu.com/s/1eRKmzuE 密碼:be2i
好了,今天就到這里了,關于代碼或者其它分析感興趣的也可以留言給我,謝謝!
聯(lián)系客服