在 R USArrests 数据集中切割树状图不会返回正确的树状图

问题描述 投票:0回答:1

我一直在网上寻找教程,但结果不正确


d <- dist(USArrests, method = "euclidean") # distance matrix
usarrests_hi_cluster <- hclust(d, method="complete") 

plot(usarrests_hi_cluster)

这工作正常,我得到了整个树状图

但是当我执行以下操作以在一定高度修剪时


my_dend<-cutree(usarrests_hi_cluster, h = 150)

print(my_dend)

仅获取带有数字的州列表


       Alabama         Alaska        Arizona       Arkansas 
             1              1              1              2 
    California       Colorado    Connecticut       Delaware 
             1              2              3              1 
       Florida        Georgia         Hawaii          Idaho 
             1              2              3              3 
      Illinois        Indiana           Iowa         Kansas 
             1              3              3              3 
      Kentucky      Louisiana          Maine       Maryland 
             3              1              3              1

我想在一定高度切割树状图以获得3个簇并绘制它

我正在尝试回答这个问题

(b) 将树状图切割到一定高度,从而产生三个不同的簇。哪些州属于哪些集群?

r hierarchical-clustering dendrogram hclust
1个回答
0
投票

请参阅此问题/答案以了解同一问题,但绘制树的顶部:仅将 hclust 绘制到切割簇,而不是每个叶子

您正在寻找的是绘制较低的分支。分支级别以列表形式存储在数据结构的“$lower”变量中。

hc <- hclust(dist(USArrests))
#cut tree
dend2 <- cut(dend1, h = 150)
#cycle through the lower list and plot
lapply(dend2$lower, function(x){plot(x)})

回答(b)部分:

print(my_dend)
的输出显示每个状态属于哪个分支。

© www.soinside.com 2019 - 2024. All rights reserved.