削皮法提取具有给定数量对象的簇

时间:2018-08-30 14:25:43

标签: r cluster-analysis hclust

stats::cutree()接受一个hclust对象并将其切成给定数量的簇的同时,我正在寻找一个需要给定元素数量并尝试设置{{1} }。换句话说:返回带有k元素的第一个集群。

例如: 搜索具有n个对象的第一个集群。

n = 9

library(psych) data(bfi) x <- bfi hclust.res <- hclust(dist(abs(cor(na.omit(x))))) cutree.res <- cutree(hclust.res, k = 2) cutree.table <- table(cutree.res) cutree.table # no cluster with n = 9 elements > cutree.res 1 2 23 5 产生

k = 3

是否有比遍历此方法更方便的方法?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以轻松地为此编写代码,只通过树状图而不是循环调用裁刀即可。

只需逐个执行合并并注意群集大小。然后保持您“喜欢”的那个最好。

请注意,可能没有这样的解决方案。例如,在一维数据集-11 -10 +10 +11上,以合并顺序切割树状图将返回仅包含1,2或4个元素的簇。因此,您也必须处理这种情况。