R语言flexord包:无法用$运算符提取聚类分配问题求助
提取flexord聚类模型的聚类分配结果
你用flexclust::kcca结合flexord的kGDM2族完成聚类后,因为kcca是S4类对象,不是普通的S3列表,所以无法直接用$运算符提取聚类分配。可以通过以下几种方式获取:
方法1:使用clusters()函数(推荐)
这是flexclust包提供的专门提取聚类成员的函数,用法简单:
# 提取聚类分配结果 cluster_assignments <- clusters(cluster)
方法2:直接访问S4对象的槽
S4对象的内部数据通过@访问,聚类分配存储在cluster槽中:
cluster_assignments <- cluster@cluster
方法3:使用predict()函数
如果需要对原数据或新数据预测聚类标签,可用该函数:
# 对原数据risk提取聚类分配 cluster_assignments <- predict(cluster, newdata = risk)
补充(官方文档翻译)
flexord包扩展了flexclust的kcca框架,用于有序聚类任务。对于kcca模型对象,聚类分配结果可通过clusters()函数获取,该函数是flexclust包中专门用于提取聚类成员的工具。
内容的提问来源于stack exchange,提问作者EB3112
相关产品推荐
相关产品推荐

