2013-12-11 123 views
1

我使用prcomp在R中進行PCA分析,我想用兩種類別中的不同顏色文本標籤對我的PC1和PC2進行繪圖, 我使用以下方法繪圖:PCA分類的彩色標籤/點數

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接縫超過對方,而不是一個陰謀2個數字,個$ X [, 1] [1:18]繪製我知道的正確點,因爲如果我使用該繪圖點,它的作品和p導致與情節相同的情節(pca$x)。

如果有任何人可以幫助繪製兩類標籤或 甚至可以繪製不同顏色的點以便輕鬆區分地塊,那將會很棒。

回答

2

你需要指定x和y座標有點不同:

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

這意味着採取的第一個18行和第一列(這是PC1)爲X座標等 我米驚訝你所做的不會拋出一個錯誤。

如果你想在自己的點顏色,你可以這樣來做:

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

酷感謝我會用該點顏色的方法。我的子腳本編寫方式正在運行(R 2.15.2),現在我剛剛注意到他們正在彼此密切關注,因爲點數是相同的。謝謝 –