尝试使用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,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)
以上行会产生以下错误:
"Error in array(x,c(length(x),1L),if (!is.null(names(x))) list(names(x),:'data' must be of a vector type,was 'NULL'"
将非常感谢反馈/修复,为何不起作用的原因或可视化的替代方法。
谢谢:)