Sto cercando di creare un grafico di coppie di 6 variabili di dati utilizzando ggplot2 e colorare i punti in base al cluster k-means a cui appartengono. Ho letto la documentazione del pacchetto GGally molto impressionante e una correzione informale di Adam Laiacano [http://adamlaiacano.tumblr.com/post/13501402316/colored-plotmatrix-in-ggplot2]. Sfortunatamente, non sono riuscito a trovare alcun modo per ottenere l'output desiderato in entrambi.Colorare la matrice trama di ggplot per k-significa cluster?
Ecco un codice di esempio: -
#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))
Entrambe le trame sono creati, ma non sono colorati in base ai cluster.
Spero di non aver perso una risposta a questa domanda sul forum e mi scuso se è davvero così. Qualsiasi aiuto sarebbe molto apprezzato.
Grazie!
È possibile farlo anche con il normale comando di stampa passando gli ID cluster nel parametro 'col'. –
Grazie per la risposta, @ThomasJungblut. Ma non sono sicuro di capirlo completamente. Stai consigliando l'uso di sfaccettature? Ho provato a giocare con facet_grid usando gli esempi forniti su http://stackoverflow.com/questions/1313954/plotting-two-vectors-of-data-on-a-ggplot2-scatter-plot-using-r. Comunque non stanno servendo il mio scopo. Un esempio minimo potrebbe essere di grande aiuto per capire meglio il tuo suggerimento. Grazie ancora! –
È solo un normale diagramma a dispersione dei punti colorati dai cluster. Vedi i normali documenti kmea qui: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html in basso nella parte inferiore: 'trama (x, colonna = cl $ cluster) 'dove' cl $ cluster' è l'assegnazione a un cluster. –