7

我有 250 个对象,我曾经h <- hclust(distance.matrix, method = "single")获得一个hclust对象。如果我从 绘制树状图h,那只是一团糟,因为对象太多,而标签只是被挤在一起。

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

现在,我知道我们可以cutree通过指定所需的组数来将一棵树(例如,从 hclust 生成的树)分成几个组。

但是我怎样才能分别获得 R 中那些较小的集群组的树状图?

4

1 回答 1

6

您可以将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))

在此处输入图像描述

于 2013-09-13T15:35:10.257 回答