R数据颜色中的主成分分析

时间:2012-10-07 00:30:14

标签: r ggbiplot

大家好我有一个简单的问题但是我没能在任何教程中得到答案。我已经对一组数据进行了简单的主成分分析,然后使用biplot绘制我的数据。

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

biplot(CP)

有了这个,我得到了我的数据在第一和第二组件方面的散点图。我希望按颜色分隔我的数据,表示R用红色绘制我的前20个数据,用蓝色绘制下20个数据。我不知道如何告诉R为这两组数据着色。 任何帮助将非常感激。 THKS! (我对R很新)

2 个答案:

答案 0 :(得分:11)

免责声明:这不是直接答案,但可以通过调整来获得所需的输出。

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

答案 1 :(得分:1)

使用plot()会为您提供更大的灵活性 - 您可以单独使用它,也可以将text()用于下面的文本标签(感谢@flodel提供有用的评论):

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)

但是,如果您想使用biplot(),请尝试以下代码:

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