Usando un dataset “poco utilizado”. EL viejo y querido IRIS
data(iris)
nrow(iris)
[1] 150
Se seleccionan los datos numericos (columnas 1 a la 4) y se especifican la cantidad de clusters (centers=3). en kmeans_res$cluster se encuentra el cluster asignado a cada una de los 150 data points.
kmeans_res<-kmeans(iris[,1:4],centers=3)
kmeans_res$cluster
[1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 2 1 1
[56] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2
[111] 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1
Agregamos la columna con la identificación del cluster al dataset iris.
iris_cluster<-cbind(iris,clusterid=kmeans_res$cluster)
iris_cluster
Ahora usando dplyr vemos cuantas de las 3 especies (setosa,versicolor y virginica)
iris_cluster %>% group_by(clusterid,Species) %>% summarise(total=n())