大家好,我有一个简单的问题,但我无法在任何教程中得到答案。我对一组数据进行了简单的主成分分析,然后用双图绘制我的数据。
CP <- prcomp(dat, scale. = T)
summary(CP)
biplot(CP)
有了这个,我就第一个和第二个组件得到了我的数据的散点图。我希望按颜色分隔我的数据,指示 R 将我的前 20 个数据绘制为红色,将接下来的 20 个数据绘制为蓝色。我不知道如何告诉 R 为这两组数据着色。任何帮助将不胜感激。谢谢!(我对 R 很陌生)
免责声明:这不是一个直接的答案,但可以调整以获得所需的输出。
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))
使用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"))