2

我使用 FactoMineR 包的 HCPC 函数对数据帧执行了层次聚类。问题是,当我使用 factoextra 绘制树状图时,我无法想象我询问的集群数量。下面是我的问题的可重现示例

model <- HCPC(iris[,1:4], nb.clust = 5) 

因子图上面确实有5个集群

fviz_dend(model, k = 5,
          cex = 0.7,                     
          palette = "default",              
          rect = TRUE, rect_fill = TRUE, 
)

在此处输入图像描述 但只有 3 个映射在树状图中

4

2 回答 2

2

我遇到了同样的问题:该fviz_dend函数总是会返回它认为是最佳数量的簇,即使我试图覆盖它——无论是在函数中HCPC还是在fviz_dend函数中。

在坚持使用 FactoMineR 和 factoextra 的同时解决此问题的一种方法是更改​​由 HCPC 函数计算的默认集群数量:

model$call$t$nb.clust = 5

然后运行fviz_dend函数。

这应该返回您期望的结果

于 2018-04-11T09:25:50.573 回答
1

您可以将 dendextend R 包与以下color_branches功能一起使用:

library(dendextend)
dend <- USArrests %>% dist %>% hclust(method = "ave") %>% as.dendrogram
dd <- color_branches(dend,5)
plot(dd) 

在此处输入图像描述

于 2018-01-19T21:39:22.470 回答