2013-12-11 4 views
1

나는 PCA 분석을 R로 수행하기 위해 prcomp을 사용하고 있습니다. 두 가지 범주 각각에 대해 서로 다른 색 텍스트 레이블을 사용하여 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 솔기가 하나가 아닌 서로를 통해이 개 번호를 플롯의 개에 $의 X [ 1] [1:18] 내가 알고있는 올바른 점을 그려 봅니다. 왜냐하면 그 점을 사용하면 점이 작동하고 p 플롯 (pca$x)과 동일한 플롯을 만듭니다.

두 범주의 레이블을 플롯하는 데 도움이되는 것이 좋거나 플롯간에 쉽게 구별하기 쉽게 다른 색을 표시하는 것이 좋을 것입니다.

답변

2

당신은 당신의 X를 지정해야와 y는 약간 다르게 좌표

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

이가 X COORD에 대한 (PC1이다) 처음 18 행과 첫 번째 열을 의미 등 내가 ' 당신이 한 일이 실수를 저 지르지 않았다는 것에 놀랐습니다.

는 점 자체가 색하려는 경우, 당신이 이런 식으로 할 수 있습니다 : 나는 그것을 사용합니다 포인트 컬러 방법

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

멋진 감사합니다. 제가 서브 스크립팅을하는 방식이 효과가있었습니다 (R 2.15.2). 이제는 포인트가 동일하기 때문에 서로간에 줄거리를 취하는 것으로 나타났습니다. 감사 –

관련 문제