我一直在网上寻找教程,但结果不正确
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) 将树状图切割到一定高度,从而产生三个不同的簇。哪些州属于哪些集群?
请参阅此问题/答案以了解同一问题,但绘制树的顶部:仅将 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)
的输出显示每个状态属于哪个分支。