2012-10-07 55 views
6

Xin chào tất cả mọi người Tôi có một câu hỏi đơn giản nhưng tôi đã có thể nhận được câu trả lời trong bất kỳ hướng dẫn nào. Ive thực hiện một phân tích thành phần chính đơn giản trên một tập hợp dữ liệu và sau đó vẽ dữ liệu của tôi với biplot.Phân tích thành phần chính trong màu dữ liệu R

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

biplot(CP) 

Với điều này tôi nhận được một âm mưu phân tán dữ liệu của tôi về thành phần thứ nhất và thứ hai. Tôi muốn tách dữ liệu của tôi bằng màu sắc, cho thấy R vẽ 20 dữ liệu đầu tiên của tôi bằng màu đỏ và 20 dữ liệu tiếp theo có màu xanh lam. Tôi không biết làm thế nào để nói với R để tô màu hai bộ dữ liệu. Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao. Thks! (im rất mới cho R)

Trả lời

1

Sử dụng plot() sẽ cung cấp cho bạn linh hoạt hơn - bạn có thể sử dụng nó một mình hoặc với text() cho nhãn văn bản như belows (Cảm ơn @flodel để lấy ý kiến ​​hữu ích):

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) 

Tuy nhiên nếu bạn muốn sử dụng biplot() thử mã này:

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

Disclaimer: Đây không phải là một câu trả lời trực tiếp nhưng có thể được tinh chỉnh để có được những mong muốn d đầu ra.

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

Các vấn đề liên quan