2012-10-07 16 views
6

Ciao a tutti Ho una domanda semplice ma per la quale non sono riuscito a ottenere una risposta in nessun tutorial. Ho fatto una semplice analisi delle componenti principali su un insieme di dati e poi ho tracciato i miei dati con biplot.Analisi componente principale in colore dati R

CP <- prcomp(dat, scale. = T) 
summary(CP) 

biplot(CP) 

Con questo ottengo un grafico a dispersione dei miei dati in termini di primo e secondo componente. Desidero separare i miei dati per colore, indicando R per dipingere i miei primi 20 dati in rosso e i prossimi 20 dati in blu. Non so come dire a R di colorare queste due serie di dati. Qualsiasi aiuto sarà molto apprezzato. thks! (im molto nuovo per R)

risposta

1

Utilizzando plot() vi fornirà una maggiore flessibilità - si può usare da solo o con text() per etichette di testo come belows (Grazie @flodel per gli utili commenti):

col = rep(c("red","blue"),each=20) 
plot(CP$x[,1], CP$x[,2], pch="", main = "Your Plot Title", xlab = "PC 1", ylab = "PC 2") 
text(CP$x[,1], CP$x[,2], labels=rownames(CP$x), col = col) 

Tuttavia se si desidera utilizzare biplot() provare questo codice:

biplot(CP$x[1:20,], CP$x[21:40,], col=c("red","blue")) 
11

di responsabilità: questa non è una risposta diretta, ma può essere modificare per ottenere il desiderio d uscita.

library(ggbiplot) 
data(wine) 
wine.pca <- prcomp(wine, scale. = TRUE) 
print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class, ellipse = TRUE, circle = TRUE)) 

enter image description here

Problemi correlati