【问题标题】:R FactoMineR: Return cluster membershipR FactoMineR:返回集群成员
【发布时间】:2013-01-20 17:00:18
【问题描述】:

我生成了一个HCPC 对象,并希望返回一个观察列表以及它们属于哪些集群。我找不到执行此操作的命令;有人知道吗?

仅供参考,这是我的工作:

file <- read.csv("file", header=TRUE) 
library(FactoMineR) 
res.mca = MCA(file, graph=FALSE) 
# manually cut tree according to inertia gain 
res.hcpc = HCPC(res.mca, nb.clust=0) 

编辑:一个可重现的例子:

library(FactoMineR)
data(tea)
res.mca  <- MCA(tea, quanti.sup = 19, quali.sup = 20:36)
res.hcpc <- HCPC(res.mca, nb.clust = 5)

【问题讨论】:

  • "file" 工作会很好(更多的是一个显示您期望结果的小例子)。
  • 好的,谢谢。这个例子应该可以工作 - 我主要只是试图从任何给定的 HCPC 对象返回集群成员详细信息:
  • 库(FactoMineR)数据(茶) res.mca=MCA(tea,quanti.sup=19,quali.sup=20:36) res.hcpc=HCPC(res.mca, nb.集群=5)
  • 抱歉,我的意思是在点击“输入”之前格式化这些行。
  • 您应该能够编辑您的帖子和您的 cmets。我已经为你编辑了帖子。

标签: r cluster-analysis hierarchical-clustering


【解决方案1】:

$data.clust 的输出给出了一个包含输入数据的数据框和一个包含个人所属集群的列(最后一个)。

library(FactoMineR)
data(tea)
res.mca  <- MCA(tea, quanti.sup = 19, quali.sup = 20:36)
res.hcpc <- HCPC(res.mca, nb.clust = 5)
res.hcpc$data.clust

请注意,如果您希望个体与输入数据集中的顺序相同,则应在 HCPC 中使用参数 order=FALSE

res.hcpc <- HCPC(res.mca, nb.clust = 5, order=FALSE)
res.hcpc$data.clust

【讨论】:

    【解决方案2】:

    虽然这篇文章是 3 年前写的,但我的回答可能对读者有所帮助。我只是在寻找与使用 HCPC 进行异常值检测相同的问题的解决方案,这就是我得到的想法:我根据字段“cluster”从 hcpc() 发出的数据帧 $data.clust 中提取了一个子集. 异常值

    我在这里找到了答案:how to extract a subset of a data frame based on a condition involving a field?

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 2015-07-07
      • 1970-01-01
      • 2016-01-24
      • 2018-02-13
      • 2016-03-30
      • 2015-04-12
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多