我正在寻找一些简单的代码,它们将选择低于阈值高度的特定聚类并突出显示它们(用方框或颜色)。 到目前为止,我已经使用了cutree,它选择了我追求的簇,但它也选择了所有大小为1的簇。
我已经设法使用哪个来选择我真正想要的群集,但由于这只是我所拥有的数据的一小部分,我不想手动选择这些。有没有办法可以砍树,但只选择大于1的簇?
这是我目前正在使用的代码:
plot(hClust,hang = -1,cex=0.5)
abline(h= 0.0018,col = 'blue')
ct <- cutree(hClust, h = 0.0018)
clust <- rect.hclust(hClust, h=0.0018, which = c(1,2,4,8,23))
答案 0 :(得分:1)
您不提供数据,因此我将使用内置的mtcars
数据进行说明。当然,高度与你的不同。设置与您的问题相同:
hClust =hclust(dist(mtcars))
plot(hClust,hang = -1, cex=0.8)
abline(h= 28,col = 'blue')
现在,我们可以在不打印(rect.hclust
)的情况下致电border=0
,以获取编号为rect.hclust
的群集。然后我们可以选择具有多个点的聚类,并将框放在那些聚类周围。
clust <- rect.hclust(hClust, h=28, border=0)
NumMemb = sapply(clust, length)
clust <- rect.hclust(hClust, h=28, which=which(NumMemb>1))