使用PCA按类别着色的标签/点

时间:2013-12-11 20:37:17

标签: r plot

我正在使用prcomp在R中进行PCA分析,我想为我的PC1与PC2绘制两个类别中的每一个的不同颜色文本标签, 我用以下方式制作情节:

plot(pca$x, main = "PC1 Vs PC2", xlim=c(-120,+120), ylim = c(-70,50))

然后用我尝试过的不同颜色绘制所有文字:

text(pca$x[,1][1:18],  pca$[,1][1:18],  labels=rownames(cava), col="green", 
     adj=c(0.3,-0.5))
text(pca$x[,1][19:35], pca$[,1][19:35], labels=rownames(cava), col="red", 
     adj=c(0.3,-0.5))

但是R接缝将两个数字相互映射而不是一个,pcs $ x [,1] [1:18]绘制了我所知道的正确点,因为如果我使用该绘图,那么它的工作点和产生相同的点绘制为情节(pca$x)。

如果有任何可以帮助绘制两个类别或标签的标签,那将是很好的 甚至可以绘制不同颜色的点,以便于轻松区分图形。

1 个答案:

答案 0 :(得分:2)

您需要稍微区别地指定x和y坐标:

text(pca$x[1:18,1], pca$x[1:18,2] ...)

这意味着获取x coord等的前18行和第1列(即PC1)。 我很惊讶你所做的不会引发错误。

如果你想让这些点自己变色,你可以这样做:

plot(pca$x, main = "PC1 Vs PC2", col = c(rep("green", 18), rep("red", 18)))