我根据基因微阵列数据创建了热图,然后使用pheatmap对数据进行聚类并输出热图。
有没有办法以矩阵形式将热图的聚类数据输出到excel文件?
答案 0 :(得分:1)
一种方法是直接重现数据聚类。 pheatmap
的默认输入参数指定欧几里德距离和层次聚类。
下面的代码再现了pheatmap
对测试矩阵所做的聚类。 reordered
的内容由pheatmap
绘制。
# load clustering library
library(stats)
# example matrix from pheatmap documentation
test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")
# cluster and re-order rows
rowclust = hclust(dist(test))
reordered = test[rowclust$order,]
# cluster and re-order columns
colclust = hclust(dist(t(test)))
reordered = reordered[, colclust$order]