我创建了一个分类并将 iris 数据集分为三类。之后,我想将类(颜色)与数据集中的观察结果联系起来。我尝试使用一个cutree
函数。结果,我得到了从 1 到 3 的类和从 1 到 3 的分支,但它们并不相同 - 第一类是第三个分支,第二个类是第一类,第三类是第二个分支。如何正确链接输出类(基于cutree
)和绘图中的分支?
> library('dendextend')
> library('tidyverse')
> iris <- datasets::iris
> iris2 <- iris[,-5]
> d_iris <- dist(iris2)
> hc_iris <- hclust(d_iris, method = "complete")
> dend <- as.dendrogram(hc_iris)
> dend <- color_branches(dend, h = 3.5)
> dend <- color_labels(dend, h = 3.5)
> plot(dend)
> cuts <- cutree(dend, h=3.5)
> data_frame(class=cuts, obj=as.numeric(names(cuts))) %>%
+ group_by(class) %>%
+ summarise(n())
# A tibble: 3 × 2
class `n()`
<int> <int>
1 1 50
2 2 72
3 3 28
> plot(cut(dend, h=3.5)$upper)