r - 如何从 R 的 hclust/heatmap.2 获取集群成员

标签 r cluster-analysis gplots

我有以下执行分层的代码
聚类并在热图中绘制它们。

library(gplots)
set.seed(538)
# generate data
y <- matrix(rnorm(50), 10, 5, dimnames=list(paste("g", 1:10, sep=""), paste("t", 1:5, sep="")))
# the actual data is much larger that the above

# perform hiearchical clustering and plot heatmap
test <- heatmap.2(y)

哪个情节这个:
enter image description here

我想要做的是从图中的每个层次结构中获取集群成员
产生:
Clust 1: g3-g2-g4
Clust 2: g2-g4
Clust 3: g4-g7
etc
Cluster last: g1-g2-g3-g4-g5-g6-g7-g8-g9-g10

有没有办法做到这一点?

最佳答案

毕竟,我确实有答案! @zkurtz 发现了问题……我使用的数据与您使用的数据不同。我加了一个 set.seed(538)声明到您的代码以稳定数据。

使用以下代码为行的树状图创建集群成员矩阵:

cutree(as.hclust(test$rowDendrogram), 1:dim(y)[1])

这会给你:
    1 2 3 4 5 6 7 8 9 10
g1  1 1 1 1 1 1 1 1 1  1
g2  1 2 2 2 2 2 2 2 2  2
g3  1 2 2 3 3 3 3 3 3  3
g4  1 2 2 2 2 2 2 2 2  4
g5  1 1 1 1 1 1 1 4 4  5
g6  1 2 3 4 4 4 4 5 5  6
g7  1 2 2 2 2 5 5 6 6  7
g8  1 2 3 4 5 6 6 7 7  8
g9  1 2 3 4 4 4 7 8 8  9
g10 1 2 3 4 5 6 6 7 9 10

关于r - 如何从 R 的 hclust/heatmap.2 获取集群成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354501/

相关文章:

html - 如何在 Shiny 的仪表板中添加除元素名称之外的 Logo ?

c++ - R 中 %in% 运算符的 C++ 版本

arrays - R:使用索引矩阵从数组中提取矩阵

python - 计算树状图叶子的顺序

matlab从关联矩阵绘制图形

r - 创建一个热图,其中的数据具有NaN值

r - 将 heatmap.2 保存在变量中并再次绘制

r - R中是否有数据类型 "Decimal"?

algorithm - 如何按邻近度对集合中的对象进行分组?

java - 如何在 elko 中为字符串定义自定义距离函数?