2013-02-22 2 views
-4

в R, я вычислили к-средства кластеризации следующим образом:R K-средства кластеризации данных

km = (mat2, centers=3) 

, где MAT2 представляет собой матрицу векторов-столбцов, полученных путем комбинирования элементов набора временных рядов. Есть 31 строка

Теперь, когда у меня есть объект k-mean, как я могу посмотреть данные, связанные с определенной точкой? Например, предположительно, я нажал на точку, принадлежащую одному из разделов. Как просмотреть эти данные? Конечно, я имею в виду, как программно получить эти данные.

+2

Вам нужно добавить больше деталей; невозможно следовать тому, что вы делаете. – csgillespie

ответ

2

Я ожидаю, что вы называете kmeans как это:

set.seed(42) 
df <- data.frame(row.names = paste0("obs", 1:100), 
         V1 = rnorm(100), 
         V2 = rnorm(100), 
         V3 = rnorm(100)) 
km <- kmeans(df, centers = 3) 

Если вы не знакомы с новой функцией, это всегда хорошая идея, чтобы проверить полученный объект с помощью str():

> str(km) 
List of 7 
$ cluster  : Named int [1:100] 1 2 3 3 1 1 1 1 1 1 ... 
    ..- attr(*, "names")= chr [1:100] "obs1" "obs2" "obs3" "obs4" ... 
$ centers  : num [1:3, 1:3] 0.65604 -1.09689 0.56428 0.11162 0.00549 ... 
    ..- attr(*, "dimnames")=List of 2 
    .. ..$ : chr [1:3] "1" "2" "3" 
    .. ..$ : chr [1:3] "V1" "V2" "V3" 
$ totss  : num 291 
$ withinss : num [1:3] 43.7 65.7 51.3 
$ tot.withinss: num 161 
$ betweenss : num 130 
$ size  : int [1:3] 36 34 30 
- attr(*, "class")= chr "kmeans" 

Как Я понял из вашего вопроса, вы ищете km$cluster, в котором говорится, какое наблюдение за вашими данными было присвоено кластеру. Соответственно, центры кластеров могут быть исследованы km$centers.

Если теперь вы хотите знать, какие наблюдения были сгруппированы в третий кластер с центром km$centers[3,], вы можете Подмножество ваш data.frame (или matrix) по

> rownames(df[ km$cluster == 3, ]) 
[1] "obs3" "obs4" "obs12" "obs15" "obs16" "obs21" "obs25" "obs27" "obs32" "obs42" "obs43" "obs46" "obs48" "obs54" "obs55" "obs58" "obs61" "obs62" "obs63" "obs66" "obs67" "obs73" "obs76" 
[24] "obs77" "obs81" "obs84" "obs86" "obs87" "obs90" "obs94" 
Смежные вопросы