может pvclust комбинировать не переменные, а обс. в R - PullRequest
0 голосов
/ 14 ноября 2018

Давайте возьмем это как пример

library("MASS")
library("pvclust")
result.par <- pvclust(Boston, nboot=1000, parallel=TRUE)
plot(result.par)

Мы видим, что pvclust объединяет переменные. Можно ли объединить наблюдения в кластеры

т. я хочу вывод (с кластером var)

 id    crim   zn indus chas   nox    rm   age    dis rad tax ptratio  black lstat medv cluster
1   1 0.00632 18.0  2.31    0 0.538 6.575  65.2 4.0900   1 296    15.3 396.90  4.98 24.0       1
2   2 0.02731  0.0  7.07    0 0.469 6.421  78.9 4.9671   2 242    17.8 396.90  9.14 21.6       2
3   3 0.02729  0.0  7.07    0 0.469 7.185  61.1 4.9671   2 242    17.8 392.83  4.03 34.7       1
4   4 0.03237  0.0  2.18    0 0.458 6.998  45.8 6.0622   3 222    18.7 394.63  2.94 33.4       2
5   5 0.06905  0.0  2.18    0 0.458 7.147  54.2 6.0622   3 222    18.7 396.90  5.33 36.2       3
6   6 0.02985  0.0  2.18    0 0.458 6.430  58.7 6.0622   3 222    18.7 394.12  5.21 28.7       3
7   7 0.08829 12.5  7.87    0 0.524 6.012  66.6 5.5605   5 311    15.2 395.60 12.43 22.9       1
8   8 0.14455 12.5  7.87    0 0.524 6.172  96.1 5.9505   5 311    15.2 396.90 19.15 27.1       1
9   9 0.21124 12.5  7.87    0 0.524 5.631 100.0 6.0821   5 311    15.2 386.63 29.93 16.5       2
10 10 0.17004 12.5  7.87    0 0.524 6.004  85.9 6.5921   5 311    15.2 386.71 17.10 18.9       2

как привязать кластеры к обзорам

1 Ответ

0 голосов
/ 15 ноября 2018

Функция Mclust из пакета mclust является ценной опцией.

library("MASS")
library("mclust")
result.par <- Mclust(Boston)
head(cbind(Boston, cluster=result.par$classification)) 

https://cran.r -project.org / web / packages / mclust / vignettes / mclust.html

Вы также можете визуализировать свой кластер, удалив дендрограмму по строкам и кластеризовав только функции для простоты визуализации.Mclust выполняет смешанную модель кластеризации, поэтому все должно немного измениться по сравнению с подходами иерархической кластеризации.

library(NMF)
aheatmap(as.matrix(Boston_2[,-15]), # remove cluster from data
         annRow = as.character(Boston_2[,15]), # consider cluster for annotating rows
         Rowv = NA)

enter image description here

...