1

我正在尝试绘制一个树状图,以便分支上的标签与我的聚类分析中的组号相匹配。目前,分支只是按照它们出现的顺序从左到右标记,而不是实际的组号。这是我当前的 R 代码和生成的树状图:

dst <- dist(Model_Results,method="binary") 
hca <- hclust(dst)
clust <- cutree(hca,k=40)
dend <-as.dendrogram(hca)
library(dendextend)
dend1 <- color_branches(dend, k = 40, groupLabels = TRUE)
plot(dend1)

在此处输入图像描述

如何更改标签以匹配我的实际组号?

4

2 回答 2

2

我想我终于设法弄清楚了...

dst <- dist(Model_Results,method="binary") 
hca <- hclust(dst)
clust <- cutree(hca,k=40)
dend <-as.dendrogram(hca)
library(dendextend)
clust.cutree <- dendextend:::cutree(dend, k=40, order_clusters_as_data = FALSE)
idx <- order(as.numeric(names(clust.cutree)))
clust.cutree <- clust.cutree[idx]
tbl <- table(clust, clust.cutree)
lbls <- apply(tbl,2,which.max)
dend1 <- color_branches(dend, k = 40, groupLabels = lbls)
plot(dend1)

在此处输入图像描述

于 2018-02-06T23:57:39.290 回答
1

直接从这里关于color_branches()函数的文档:

“如果groupLabels=TRUE然后数字组标签将添加到每个集群。如果提供了一个向量,那么这些条目将用作组标签。如果提供了一个函数,那么它将传递一个组的数字向量(例如 1:5)并且必须返回格式化的组标签。”

我希望这有帮助。

于 2018-02-06T06:40:33.430 回答