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

标签 r plot hierarchical-clustering dendrogram

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

像这样:

enter image description here

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

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

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

最佳答案

获取高度所需的信息来自 hclust .它有一个包含高度的变量。要获得 4 个集群,您需要在第 3 大高度和第 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)

Dendrogram

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

相关文章:

r - 使用 R 在 for 循环中创建具有不同名称的向量

plot - 如何在同一张图上获得多个系数

r - 如何不成比例地分割 y 轴以更好地在图中显示数据

java - “Group” vecmath 根据对象之间的距离点对象

揭示 igraph 中的交互集群

python - 你如何从 sklearn.cluster.ward_tree 可视化病房树?

r - 向动态 selectInputs 添加 "ALL"选项

r - 如何制作直方图来显示 0、1 和 NA 的数量

r - 将向量中的唯一值对相乘并对结果求和

python - 给定一个邻接矩阵,如何用matplotlib画图?