Попытка визуализировать результаты кластера k-medoid (PAM) с помощью fviz_cluster()
, однако функция их не принимает.
Он указывает в аргументе объекта ?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 (длина (x), 1L), если (! is.null (имена (x))) список (имена (x), : 'данные' должны быть векторного типа, было 'NULL '
Буду очень признателен за отзыв/исправление, причины, по которым это не работает, или альтернативный метод визуализации.
Спасибо :)