我已经制作了一个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)
答案 0 :(得分:2)
输出$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
答案 1 :(得分:0)
虽然这篇文章是3年前写的,但我的回答可以为读者提供帮助。我只是在寻找同样问题的解决方案,因为我使用HCPC进行异常值检测,这是我得到的想法:我从hcpc()发出的数据帧$ data.clust中提取了一个子集,基于字段&#34 ;簇&#34 ;. 异常值&lt; -subset(DHCPC $ data.clust,clust == 4)
我在这里找到答案:how to extract a subset of a data frame based on a condition involving a field?