【发布时间】:2016-10-28 00:06:53
【问题描述】:
在生成一个模拟数据集后,在三个类别中的每个类别中包含 20 个观察值(即总共 60 个观察值)和 50 个变量,我需要绘制前两个主成分得分向量,使用不同的颜色来表示三个唯一的类。
我相信我可以创建模拟数据集(请验证),但我在弄清楚如何为类和绘图着色时遇到问题。我需要确保三个类在图中分开显示(否则我需要重新运行模拟数据)。
#for the response variable y (60 values - 3 classes 1,2,3 - 20 observations per class)
y <- rep(c(1,2,3),20)
#matrix of 50 variables i.e. 50 columns and 60 rows i.e. 60x50 dimensions (=3000 table cells)
x <- matrix( rnorm(3000), ncol=50)
xymatrix <- cbind(y,x)
dim(x)
[1] 60 50
dim(xymatrix)
[1] 60 51
pca=prcomp(xymatrix, scale=TRUE)
如上所述,我应该如何正确绘制和着色这个主成分分析?谢谢你。
【问题讨论】:
-
你能提供创建当前情节的代码吗?
-
@BLT 这绝不需要是双标图(可能有更好的方法来绘制它),但下面是我尝试过的代码:
biplot(pca, scale=0, col=c("orange", "red", "blue")) -
这适用于您的真实数据吗? rpubs.com/sinhrks/plot_pca
-
@BLT 我可以得到下面的第一个代码来绘制,但我不确定如何让三个类的颜色不同(即所有点都是橙色)
autoplot(pca, colour = "orange")此代码不起作用:autoplot(pca, colour = c("orange", "red", "blue"))