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()) 
LS0tCnRpdGxlOiAiS21lYW5zIENsdXN0ZXJpbmciCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KVXNhbmRvIHVuIGRhdGFzZXQgInBvY28gdXRpbGl6YWRvIi4gRUwgdmllam8geSBxdWVyaWRvIElSSVMKCmBgYHtyfQpkYXRhKGlyaXMpCm5yb3coaXJpcykKYGBgCgpTZSBzZWxlY2Npb25hbiBsb3MgZGF0b3MgbnVtZXJpY29zIChjb2x1bW5hcyAxIGEgbGEgNCkgeSBzZSBlc3BlY2lmaWNhbiBsYSBjYW50aWRhZCBkZSBjbHVzdGVycyAqKihjZW50ZXJzPTMpKiouIGVuICoqa21lYW5zX3JlcyRjbHVzdGVyKiogc2UgZW5jdWVudHJhIGVsIGNsdXN0ZXIgYXNpZ25hZG8gYSBjYWRhIHVuYSBkZSBsb3MgMTUwIGRhdGEgcG9pbnRzLgoKYGBge3J9CmttZWFuc19yZXM8LWttZWFucyhpcmlzWywxOjRdLGNlbnRlcnM9MykKa21lYW5zX3JlcyRjbHVzdGVyCmBgYAoKQWdyZWdhbW9zIGxhIGNvbHVtbmEgY29uIGxhIGlkZW50aWZpY2FjacOzbiBkZWwgY2x1c3RlciBhbCBkYXRhc2V0IGlyaXMuCgpgYGB7cn0KaXJpc19jbHVzdGVyPC1jYmluZChpcmlzLGNsdXN0ZXJpZD1rbWVhbnNfcmVzJGNsdXN0ZXIpCmlyaXNfY2x1c3RlcgpgYGAKCgpBaG9yYSB1c2FuZG8gZHBseXIgdmVtb3MgY3VhbnRhcyBkZSBsYXMgMyBlc3BlY2llcyAoc2V0b3NhLHZlcnNpY29sb3IgeSB2aXJnaW5pY2EpIAoKCmBgYHtyfQppcmlzX2NsdXN0ZXIgJT4lIGdyb3VwX2J5KGNsdXN0ZXJpZCxTcGVjaWVzKSAlPiUgc3VtbWFyaXNlKHRvdGFsPW4oKSkgCmBgYAoK