FactoMineR/factoextra 可视化树状图中的所有簇
FactoMineR/factoextra visualize all the clusters in the dendrogram
我使用包 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 个映射在树状图中
您可以只使用具有 color_branches
功能的 dendextend R 包:
library(dendextend)
dend <- USArrests %>% dist %>% hclust(method = "ave") %>% as.dendrogram
dd <- color_branches(dend,5)
plot(dd)
我遇到了同样的问题:fviz_dend
函数总是 return 它认为是最佳的簇数量,即使我试图覆盖它——无论是在 HCPC
或在 fviz_dend
函数中。
在坚持使用 FactoMineR 和 factoextra 的同时解决此问题的一种方法是更改由 HCPC 函数计算的默认簇数:
model$call$t$nb.clust = 5
然后 运行 fviz_dend
函数。
这应该returnthe result that you were expecting.
我使用包 FactoMineR 的 HCPC 函数对数据帧执行了层次聚类。问题是,当我使用 factoextra 绘制树状图时,我无法想象我询问的簇数。 下面是我的问题的可重现示例
model <- HCPC(iris[,1:4], nb.clust = 5)
fviz_dend(model, k = 5,
cex = 0.7,
palette = "default",
rect = TRUE, rect_fill = TRUE,
)
您可以只使用具有 color_branches
功能的 dendextend R 包:
library(dendextend)
dend <- USArrests %>% dist %>% hclust(method = "ave") %>% as.dendrogram
dd <- color_branches(dend,5)
plot(dd)
我遇到了同样的问题:fviz_dend
函数总是 return 它认为是最佳的簇数量,即使我试图覆盖它——无论是在 HCPC
或在 fviz_dend
函数中。
在坚持使用 FactoMineR 和 factoextra 的同时解决此问题的一种方法是更改由 HCPC 函数计算的默认簇数:
model$call$t$nb.clust = 5
然后 运行 fviz_dend
函数。
这应该returnthe result that you were expecting.