大家好,有朋友在后台问如何用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<-read.table(“heatmap_example.txt”,header=T,sep=”t”,row.names=1)
data<-as.matrix(data)
###计算样品(或基因)间的距离,常用的计算距离函数如vegdist(包含在vegan包中),可以选择的距离参数如” euclidean”,” jaccard”等,此处以bray-curtis距离为例(”bray”)。
drows<-vegdist(data,method=”bray”)
dcols<-vegdist(t(data),method=”bray”)
###调用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()
然后回车,就出现我们要的热图啦,绘制的聚类图如下
好了,今天就到这里了,关于代码或者其它分析感兴趣的也可以留言给我,谢谢!