手把手教你用 R 绘制聚类热图(含代码和注释)

2017-02-20 17:02 来源:小张聊科研 作者:小张
字体大小
- | +

大家好,有朋友在后台问如何用 R 绘制聚类热图,其实绘制聚类图的方法有很多,比如 MeV 软件等等,我们今天看如何用 R 来绘制聚类图。

首先我们看原始数据,原始数据有两组,每组 4 个样品,共八个样品,每个样品有 35 个 microRNA,目的是对 35 个 microRNA 和 8 个样品进行聚类。

1.jpg

将目标文件所在目录通过 setwd 命令设置为当前工作目录,并用 getwd() 查看目录是否设置成功;设置成功后,利用 read.table 命令读入目标文件(heatmap_example.txt,注意将文件保存为 tab 分隔的纯文件文件 txt),将第一行的样本名设置为列名(header = T),将第一列设置为行名(row.names = 1),通过 head(data) 查看文件前 6 行。

2.jpg

###安装软件包

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()

然后回车,就出现我们要的热图啦,绘制的聚类图如下:

3.jpg

本文所用数据和代码下载链接:http://pan.baidu.com/s/1eRKmzuE 密码:be2i

好了,今天就到这里了,关于代码或者其它分析感兴趣的也可以留言给我,谢谢。

编辑: 齐梦霞

版权声明

本网站所有注明“来源:丁香园”的文字、图片和音视频资料,版权均属于丁香园所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:丁香园”。本网所有转载文章系出于传递更多信息之目的,且明确注明来源和作者,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。同时转载内容不代表本站立场。