Estoy tratando de crear una gráfica de pares de 6 variables de datos usando ggplot2 y colorear los puntos de acuerdo con el clúster k-means al que pertenecen. Leí la documentación del impresionante paquete "GGally" y una solución informal de Adam Laiacano [http://adamlaiacano.tumblr.com/post/13501402316/colored-plotmatrix-in-ggplot2]. Desafortunadamente, no pude encontrar ninguna forma de obtener el resultado deseado en ninguno de los dos.¿Colorea la plotmatrix de ggplot por k-means clusters?
Aquí hay un código de ejemplo: -
#The Swiss fertility dataset has been used here
data_ <- read.csv("/home/tejaskale/Ubuntu\ One/IUCAA/Datasets/swiss.csv", header=TRUE)
data_ <- na.omit(data_)
u <- c(2, 3, 4, 5, 6, 7)
x <- data_[,u]
k <- 3
maxIterations <- 100
noOfStarts <- 100
filename <- 'swiss.csv'
library(ggplot2)
library(gridExtra)
library(GGally)
kmeansOutput <- kmeans(x, k, maxIterations, noOfStarts)
xNew <- cbind(x[,1:6], as.factor(kmeansOutput$cluster))
names(xNew)[7] <- 'cluster'
kmeansPlot <- ggpairs(xNew[,1:6], color=xNew$cluster)
OR
kmeansPlot <- plotmatrix(xNew[,1:6], mapping=aes(colour=xNew$cluster))
Ambas parcelas se crean pero no están coloreados de acuerdo con las agrupaciones.
Espero no haber perdido una respuesta a esta pregunta en el foro y me disculpo si ese es realmente el caso. Cualquier ayuda sería muy apreciada.
Gracias!
También puede hacerlo con el comando de trazado normal pasando los clusterID en el parámetro 'col'. –
Gracias por la respuesta, @ThomasJungblut. Pero no estoy seguro de entenderlo por completo. ¿Estás aconsejando el uso de facetas? Intenté jugar con facet_grid usando los ejemplos que figuran en http://stackoverflow.com/questions/1313954/plotting-two-vectors-of-data-on-a-ggplot2-scatter-plot-using-r. Sin embargo, no están sirviendo mi propósito. Un ejemplo mínimo sería de gran ayuda para que yo entienda mejor su sugerencia. ¡Gracias una vez más! –
Es solo un diagrama de dispersión normal de sus puntos coloreados por los grupos. Vea el documento normal de kmeans aquí: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html abajo en la parte inferior: 'plot (x, col = cl $ cluster) 'donde' cl $ cluster' es la asignación a un clúster. –