2016-10-05 7 views
-5

Я провел иерархическую кластеризацию в R, и как я могу, какое наблюдение принадлежит кластеру? Благодаря!Как узнать, какие наблюдения принадлежат кластеру?

### Hierarchical Clustering 
d <- dist(EMEA_2, method = "euclidean") # distance matrix 
fit <- hclust(d, method="complete") 

### Decide bet number of clusters 
library(knitr) 
library(NbClust) 

nc<-NbClust(data = EMEA_2, distance = "euclidean", min.nc=2, max.nc=15, method = "complete", index = "db", alphaBeale = 0.1) 

groups <- cutree(fit, k=2) # cut tree into 2 clusters 

### Get group means and number of frequencies within each cluster 
a2<-aggregate(EMEA_2, list(groups),mean) 
a4<-data.frame(Cluster = a2[,1], Freq = as.vector(table(groups)), a2[,-1]) 
+0

где ваш код? – mtoto

+0

@mtoto Я только что редактировал спасибо! –

+1

Посмотрите на 'str (nc)' Я подозреваю, что будут кластеры data.frame ', как в 'stats :: kmeans'. Затем вы можете получить к нему доступ как «nc $ clusters $» или что там там называется. –

ответ

1

Если вы заинтересованы в результате оптимизации из NbClust, вы найдете его в nc$Best.partition, где каждый номер является номером кластера для соответствующей строки в матрице данных.

, например

> nc$Best.partition 
[1] 1 2 3 4 5 1 3 5 1 1 4 1 4 1 5 1 5 1 4 2 

для 20x10 матрицы данных.