我试图将基于k-means的聚类算法的结果显示为pheatmap
。为此,我使用此处建议的过程:R draw kmeans clustering with heatmap
现在的问题是,我想添加一个突出显示聚类的配色方案,类似于heatmap
和heatmap.2
中的" RowSideColors" -option。至于pheatmap
,我发现只有annotation
选项,但这是按列方式而不是按行方式。有没有办法在pheatmap
中突出显示行集群?
我的另一个想法是将群集列添加为热图中的单独颜色。但是,我需要使用另一种颜色方案,而不是热图的其余部分,所以我不确定它是否可行。
答案 0 :(得分:4)
现在pheatmap包中有一个annotation_row参数:
library(pheatmap)
# define a matrix
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 = "")
# annotate rows
annotation_row = data.frame(
GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6))))
rownames(annotation_row) = paste("Gene", 1:20, sep = "")
# plot pheatmap
pheatmap(test, annotation_row = annotation_row)
答案 1 :(得分:-1)
好吧,你可以直接使用heatmap或heatmap.2,因为pheatmap没有这种参数。实际上,我有类似的任务。