利用cutree划分pheatmap聚类结果

2020-08-10 17:24:54 浏览数 (1)

之前小编教大家使用pheatmap快速绘制热图,直接利用cluster_rows对行进行聚类,但是聚类后我们怎么得到聚类结果呢?今天小编就教大家利用cutree划分pheatmap聚类结果。

首先,准备输入文件:

行为基因,列为样本,保存为制表符分隔的文本文件。

代码语言:javascript复制
## 加载R包
library(pheatmap)
## 导入文件
exp <- read.table("input.txt",sep="t",header=T,row.names = 1)
## 绘制热图
p <- pheatmap(log2(exp 1),cellwidth=20, cellheight=10,cluster_cols=F,cluster_rows=T,cutree_rows = 3)

我们可以注意到,与之前绘制热图相比,多了一个cutree_rows参数。这个参数用来控制我们划分类群的数目。

可以看到,我们输入的20个基因划分为了3类。

现在我们来提取每类的基因ID。

代码语言:javascript复制
## 对基因进行分类
row_cluster <- cutree(p$tree_row,k=3)

需要注意的时,k后的数字要与前一步cutree_rows的数字相同。

代码语言:javascript复制
## 对结果进行排序
newOrder <- exp[p$tree_row$order,]
newOrder[,ncol(newOrder) 1]=row_cluster[match(rownames(newOrder),names(row_cluster))]
colnames(newOrder)[ncol(newOrder)]="Cluster"
## 输出结果
write.table(newOrder,"cluster.list.out",quote=F,row.names=T,col.names=T,sep="t")

执行完所有代码后我们就得到了分类结果,非常方便!大家快去试试吧~

参考资料:

https://www.omicsclass.com/article/508

0 人点赞