大家好我有一个简单的问题但是我没能在任何教程中得到答案。我已经对一组数据进行了简单的主成分分析,然后使用biplot绘制我的数据。
CP <- prcomp(dat, scale. = T)
summary(CP)
biplot(CP)
有了这个,我得到了我的数据在第一和第二组件方面的散点图。我希望按颜色分隔我的数据,表示R用红色绘制我的前20个数据,用蓝色绘制下20个数据。我不知道如何告诉R为这两组数据着色。 任何帮助将非常感激。 THKS! (我对R很新)
答案 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))
答案 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"))