如何在 对应于给定标准的最佳 K 的树状图中画一条线?

像这样:

r - 如何在最佳 K 处排列(剪切)树状图-LMLPHP

让我们假设这是我的树状图,最好的 K 是 4。

data("mtcars")
myDend <-  as.dendrogram(hclust(dist(mtcars)))
plot(myDend)

我知道 abline 函数能够在图形中绘制类似于上面显示的线条。但是,我不知道如何计算高度,因此将该函数用作 abline(h = myHeight)

最佳答案

获得高度所需的信息来自 hclust 。它有一个包含高度的变量。要获得 4 个集群,您需要在第三大高度和第四大高度之间划一条线。

HC = hclust(dist(mtcars))
myDend <-  as.dendrogram(HC)

par(mar=c(7.5,4,2,2))
plot(myDend)

k = 4
n = nrow(mtcars)
MidPoint = (HC$height[n-k] + HC$height[n-k+1]) / 2
abline(h = MidPoint, lty=2)

r - 如何在最佳 K 处排列(剪切)树状图-LMLPHP

关于r - 如何在最佳 K 处排列(剪切)树状图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49091292/

10-12 19:51