我有 250 个对象,我曾经h <- hclust(distance.matrix, method = "single")
获得一个hclust
对象。如果我从 绘制树状图h
,那只是一团糟,因为对象太多,而标签只是被挤在一起。
假设我对特定的集群组感兴趣
现在,我知道我们可以cutree
通过指定所需的组数来将一棵树(例如,从 hclust 生成的树)分成几个组。
但是我怎样才能分别获得 R 中那些较小的集群组的树状图?
我有 250 个对象,我曾经h <- hclust(distance.matrix, method = "single")
获得一个hclust
对象。如果我从 绘制树状图h
,那只是一团糟,因为对象太多,而标签只是被挤在一起。
假设我对特定的集群组感兴趣
现在,我知道我们可以cutree
通过指定所需的组数来将一棵树(例如,从 hclust 生成的树)分成几个组。
但是我怎样才能分别获得 R 中那些较小的集群组的树状图?
您可以将hclust
对象转换为 adendrogram
并使用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))