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

Nat*_*omo 6 r ggbiplot

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

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

biplot(CP)
Run Code Online (Sandbox Code Playgroud)

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

MYa*_*208 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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Ali*_*Ali 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)
Run Code Online (Sandbox Code Playgroud)

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

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