【发布时间】:2020-03-02 03:18:59
【问题描述】:
尝试使用 fviz_cluster() 可视化 k-medoid (PAM) 聚类结果,但函数不接受它们。
它在?fviz_clust 中声明“对象参数 = 由集群包中的函数 pam()、clara() 或 fanny() 创建的“分区”类的对象”
我已经尝试通过其他方式访问聚类向量;
pam_gower_2$clustering
pam_gower_2[[3]]
然后我得到一个单独的错误:
错误:$ 运算符对原子向量无效"
pam_gower_2 的类是分区吗?正如论证所期望的那样。
class(pam_gower_2)
> class(pam_gower_2)
[1] "pam" "partition"
这是我正在使用的代码:
df_gower <- df[, c(2:21)]
df_gower <- df_gower[, c(1:4, 11:12, 14:15, 5:10, 16:20)]
gower_dist <- daisy(df_gower, metric="gower", type=list(ordratio=c(2:4, 6), symm=c(7:8), asymm=c(5), logratio=c(13)))
gower_mat <- as.matrix(gower_dist)
tendency_gower <- get_clust_tendency(gower_mat, 100, graph=T)
tendency_gower$hopkins_stat
fviz_nbclust(gower_mat, pam, method="wss")
fviz_nbclust(gower_mat, pam, method="silhouette")
pam_gower_2 <- pam(gower_mat, k=2, diss=T)
# all of the above functions as expected
fviz_cluster(pam_gower_2, gower_mat)
上面一行产生以下错误:
数组中的错误(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :'data' 必须是向量类型,为 'NULL'
非常感谢您的反馈/修复、为什么这不起作用的原因,或可视化的替代方法。
谢谢:)
【问题讨论】:
标签: r cluster-analysis data-visualization pam