2013-11-20 6 views
0

나는이 상관 관계 매트릭스R 고유 값/고유 벡터

A 
[,1] 1.00000 0.00975 0.97245 0.43887 0.02241 
[,2] 0.00975 1.00000 0.15428 0.69141 0.86307 
[,3] 0.97245 0.15428 1.00000 0.51472 0.12193 
[,4] 0.43887 0.69141 0.51472 1.00000 0.77765 
[,5] 0.02241 0.86307 0.12193 0.77765 1.00000 

을 그리고 나는 내가 차이 (고유 값)을 얻을 princomp(A,cor=TRUE) 기능을 사용하면

R.

의 고유 값, 고유 벡터와 부하를 얻을 필요 하지만 eigen(A) 함수를 사용할 때 Eigenvalues ​​및 Eigenvectors를 얻지 만이 경우 고유 값은 Princomp 함수를 사용할 때와 다릅니다.

올바른 기능은 무엇입니까? Eigenvalues를 얻으려면?

답변

1

eigen(M) 데이터 매트릭스를 건네 될하면 M.

princomp()의 정확한 값과 고유 벡터를 제공 - 실수 그것에 상관 행렬을 먹이!

princomp (A,)는 A를 데이터로 처리 한 다음 상관 행렬과 그 고유 벡터와 값을 구합니다. 따라서 A의 고유 값 (A가 데이터를 보유하고있는 경우)이 단지 무의미한 것은 아니며 물론 princomp()가 끝나는 시점과 다릅니다. http://www.joyofdata.de/blog/illustration-of-principal-component-analysis-pca/

+0

감사 : prcomp은 기본적으로 다음 (cor=TRUE)을하고있다! 지금 하중을 어떻게 받습니까? (나는 R에서 일하는 것에 익숙하지 않아서 미안하다.) – user3013464

+0

p <- princomp (...); p $ loadings; – Raffael

1

난 당신이 고유 값, 고유 벡터와 부하의 말할 때 당신은 PCA 분석을 언급하는 생각 : R의 PCA는 여기를 참조 수행의 그림은

.

###Step1 
#correlation matrix 
Acs <- scale(A, center=TRUE, scale=TRUE) 
COR <- (t(Acs) %*% Acs)/(nrow(Acs)-1) 
COR ; cor(Acs) # equal 

###STEP 2 
# Decompose matrix using eigen() to derive PC loadings 
E <- eigen(COR) 
E$vectors # loadings 
E$values # eigen values 

###Step 3 
# Project data on loadings to derive new coordinates (principal components) 
B <- Acs %*% E$vectors