2012-12-08 2 views
1

다음과 같이해야합니다 : 나는 벡터의 집합을 가지고 있습니다. v1-vn 이것들에 대해, 나는 공분산 행렬을 필요로합니다. 또한 공분산 행렬의 고유 값과 고유 벡터가 필요합니다. 고유 값 내림차순으로 정렬 한 다음 해당 고유 값에 따라 고유 벡터를 정렬합니다. 그런 다음 v1에 고유 벡터의 첫 번째 곱셈을 곱하고 두 번째 곱과 함께 v2를 곱합니다. 나는이 방법으로 얻는 skalar를 돌려 보낸다.pca - 어느 고유 벡터가 어떤 고유 값과 일치합니까

어떤 고유 값이 어떤 고유 벡터에 해당하는지 알기위한 간단한 방법이 있습니까?

+1

가 재현 예를 – liuminzhao

+0

당신이'princomp'를 시도 더 도움이 될 것입니다 추가로, p$sdev[i]^2입니까? 그것은 당신을 위해 모든 것을 해줍니다. – flodel

+0

나는 princomp를 시도했다. 그것은 나를 위해 pca를 수행한다. (prcomp도 마찬가지다.) 그러나 eigenvectors를 얻는 것은 좀 더 까다로워 보인다. – user1862770

답변

3

prcomp의 결과를 직접 사용하십시오. 고유 값을 가장 큰 값에서 가장 작은 값으로 정렬합니다. i의 적절한 값에 대한

p <- prcomp(USArrests, scale=T) 

는 고유 값 고유 벡터 p$rotation[,i]

+0

그래서 p $ sdef [1]^2는 고유 벡터 p $ rotation [, 1]로 가장 큰 고유 값이 될 것입니까? – user1862770

+0

그러나 고유 값은 정확하게 정렬되지는 않습니다. – user1862770

+0

예를 들어주세요. –

관련 문제