我使用下面的代码为我的大型数据集制作了这个热图。现在我想要获取第二个集群的行名(基因的名称)(红色在左边,绿色在右边)。首先,我试图按照this page上的说明来划分集群,但由于y轴上树状图的复杂性,解决方案对我来说并不实用。然后,我尝试在制作热图之前进行聚类,希望得到相同的结果。this page上的代码没有生成相同的热图。
有没有可能获得热图中所需区域的基因列表?
library(RColorBrewer)
my_palette <- colorRampPalette(c("red", "black", "green"))(n = 100)
heatmap.2(as.matrix(sd_pol),
col=my_palette,
density.info="none",
trace="none",
symm=F,symkey=F,symbreaks=F, scale="none",
labRow=NA,
main="test_heatmap",
margins = c(8, 8))

发布于 2020-09-03 14:07:10
正如docs中详细介绍的那样,heatmap.2使用函数hclust进行集群,因此您想要实现的一种方法是创建集群对象,然后应用cutree,如here所述。
但是,您必须调整参数h或k才能获得所需的结果:
require(graphics)
hc <- hclust(dist(USArrests))
cutree(hc,k = 2)输出:
Alabama Alaska Arizona Arkansas California Colorado Connecticut
1 1 1 2 1 2 2
Delaware Florida Georgia Hawaii Idaho Illinois Indiana
1 1 2 2 2 1 2
Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts
2 2 2 1 2 1 2
...https://stackoverflow.com/questions/63717370
复制相似问题