.rect_dendrogram(dend, k = k, palette = rect_border, rect_fill = rect_fill, 中的错误:k 必须介于 2 和 97 之间

Error in .rect_dendrogram(dend, k = k, palette = rect_border, rect_fill = rect_fill, : k must be between 2 and 97

我正在尝试为我使用 98 个主题生成的结构主题模型估计 R 中的聚类树状图。

我首先 运行 以下效果很好:

res.hc <- eclust(scale(out_corr$cor), "hclust", nboot = 500)

然后我尝试使用以下语法可视化树状图:

fviz_dend(res.hc, rect = TRUE)

在这里,我收到以下错误: 错误.rect_dendrogram(dend, k = k, palette = rect_border, rect_fill = rect_fill, : k 必须介于 2 和 97

之间

这是因为我的模型中的主题数是 98 吗?如果是这样,有没有办法在不将我的主题减少到 97 的情况下仍然可视化树状图?

谢谢!

以下步骤有助于解决问题:

  1. 估计聚类树状图
res.hc <- eclust(scale(out_corr$cor), "hclust", nboot = 500)
  1. 安装 dendextend
install.packages("dendextend")
library(dendextend)
  1. 安装 dplyr
install.packages("dplyr")
library(dplyr)
  1. 将聚类估计保存为树状图
dend<-as.dendrogram(res.hc)
  1. 集群级别的颜色
par(mar=c(1,1,1,7))
dend %>%
  set("labels_col", value = c("skyblue", "red", "grey", "blue"), k=4) %>%
  set("branches_k_color", value = c("skyblue", "red", "grey", "blue"), k = 4) %>%
  plot(horiz=FALSE, axes=FALSE)
abline(v = 350, lty = 2)