首页 > 解决方案 > 从 R 中的 heatmaply 集群中获取属于每个集群的行名

问题描述

在 R 中使用 heatmaply 后,我试图获取所有行元素的 5 个列表。我设置 k_row = 5,因此树状图显示 5 种不同的颜色。我只想返回一个包含 5 个列表的列表,其中每个列表都包含一个集群中的行元素。行是名称,列是类别。

在此处输入图像描述

标签: rplotlyheatmapdendrogramheatmaply

解决方案


您可以直接从相同数据的树状图中获取集群。例如:

heatmap = heatmaply(mtcars, k_row = 3,
                       dist_method = "euclidean", hclust_method ="complete")

要从相同数据中获取行簇:

dend <- hclust(dist(mtcars, method = "euclidean"), method = "complete")
cutree(dend, k = 3)

cutree 命令将返回数据集中每一行的分配。您会注意到它们的大小与热图中的大小相同。这与 heatmaply 运行以对集群着色的命令相同。


推荐阅读