【问题标题】:cutree alternative to extract cluster with given number of objects用给定数量的对象提取集群的cutree替代方法
【发布时间】:2018-08-30 14:25:43
【问题描述】:

虽然stats::cutree() 采用hclust-object 并将其切割成给定数量的集群,但我正在寻找一个采用给定数量的元素并尝试相应地设置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 产生

cutree.res <- cutree(hclust.res, k = 3)

# three clusters, whereas cluster 2 contains the required amount of objects
> cutree.table
cutree.res
 1  2  3 
14  9  5 

有没有比迭代更方便的方法?

谢谢

【问题讨论】:

    标签: r cluster-analysis hclust


    【解决方案1】:

    您可以自己轻松地为此编写代码,仅 one 传递树状图,而不是在循环中调用切割器。

    只需一一执行合并并注意集群大小。然后保留你“最喜欢”的那个。

    请注意,可能没有这样的解决方案。例如,在 1 维数据集 -11 -10 +10 +11 上,按合并顺序切割树状图将返回仅具有 1、2 或 4 个元素的集群。所以你也得处理这个案子。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2017-08-20
      • 1970-01-01
      • 2016-04-29
      • 2016-02-15
      • 2013-05-27
      • 2015-11-17
      • 2019-06-19
      • 1970-01-01
      相关资源
      最近更新 更多