我有250个对象,并且使用h <- hclust(distance.matrix, method = "single")获取hclust对象。如果我从h绘制树状图,那是一个烂摊子,因为有太多的对象,并且标签被挤压在一起。

假设我对特定的群集组感兴趣

现在,我知道我们可以通过指定所需的组数,使用cutree将一棵树(例如由hclust产生的树)切成几组。

但是,如何才能分别为R中的那些较小的群集组获得树状图?

最佳答案

您可以将hclust对象转换为dendrogram并使用cut(有关详细信息,请参见?cut.dendrogram):

hc <- hclust(dist(USArrests), "ave")
plot(hc)




## cut at height == 100
d <- cut(as.dendrogram(hc), h=100)
## cut returns a list of sub-dendrograms
d
#$upper
#'dendrogram' with 2 branches and 2 members total, at height 152.314
#
#$lower
#$lower[[1]]
#'dendrogram' with 2 branches and 16 members total, at height 77.60502

#$lower[[2]]
#'dendrogram' with 2 branches and 34 members total, at height 89.23209

par(mfrow=c(1, 2))
plot(d$lower[[1]])
plot(d$lower[[2]])
par(mfrow=c(1, 1))

08-19 23:31