2012-10-07 18 views
6

Hola a todos Tengo una pregunta simple pero para la que no he podido obtener una respuesta en ningún tutorial. He hecho un análisis simple del componente principal en un conjunto de datos y luego tracé mis datos con biplot.Análisis de componentes principales en color de datos R

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

biplot(CP) 

Con esto obtengo un diagrama de dispersión de mis datos en términos del primer y segundo componente. Deseo separar mis datos por color, indicando R para pintar mis primeros 20 datos en rojo y los siguientes 20 datos en azul. No sé cómo decirle a R que coloree esos dos conjuntos de datos. Cualquier ayuda será muy apreciada. ¡gracias! (im muy nuevo a derecha)

Respuesta

1

Usando plot() le proporcionará una mayor flexibilidad - usted puede utilizar solo o con text() de etiquetas de texto como belows (Gracias @flodel útil para los comentarios):

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) 

Sin embargo Si desea utilizar biplot() probar este código:

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

responsabilidad: esto no es una respuesta directa, pero se puede ajustar para obtener el deseo d salida.

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

Cuestiones relacionadas