我正在使用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
)。
如果有任何可以帮助绘制两个类别或标签的标签,那将是很好的 甚至可以绘制不同颜色的点,以便于轻松区分图形。
答案 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)))