2014-03-31 4 views
6

미리 감사드립니다. 필자는 'FactoMineR'패키지의 'PCA'기능을 사용하여 주 구성 요소 점수를 획득했습니다. 나는이 포럼에서 package details 및 유사한 질문을 통해 읽으려고했지만 추출 된 구성 요소 (직각 또는 경사)를 회전하는 코드를 파악할 수 없습니다.'FactoMineR'패키지의 회전

'princomp'기능과 'psych'패키지의 'principal'기능은 회전 기능이 있지만 'PCA'에서 변수를 단위 분산으로 조정하는 기능을 정말 좋아합니다. 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.

+0

아, PCA 및 회전. 아마이 게시물은 당신에게 도움이 될 것입니다. http://stats.stackexchange.com/questions/612/is-psychprincipal-function-still-pca-when-using-rotation –

+0

링크를 제공해 주셔서 감사합니다. 논의 된 특정 패키지에는 순환 게재가 있지만 변수를 기본적으로 확장하거나 'PCA'와 같은 보조 데이터를 포함 할 수있는 기능이 없습니다. 나는 다른 독서를했고 'prcomp'는 회전 및 크기 조정이 가능하지만 보충 정보를 포함 할 수 없음을 발견했습니다. 한 가지 기능으로 이러한 모든 기능을 원 스톱으로 이용할 수 있습니까? 감사. – gtnbz2nite

+0

이것에 대한 어떤 업데이 트? 혼합 된 데이터 (숫자 + 범주 형)의 결과를 회전 시키려합니다. PCAmixdata 패키지의 FAMD와 PCAmix는 혼합 된 데이터를 지원하는 것처럼 보이지만 경사 회전을 수행하는 좋은 방법을 찾지 못했습니다. – Thusitha

답변

1

IIUC :

library(FactoMineR) 
data(iris) 
Iris <- iris[,1:4] 
res <- PCA(Iris, graph=F) 
#rotation 
t(apply(res$var$coord, 1, function(x) {x/sqrt(res$eig[,1])})) 
        Dim.1  Dim.2  Dim.3  Dim.4 
Sepal.Length 0.5210659 0.37741762 -0.7195664 -0.2612863 
Sepal.Width -0.2693474 0.92329566 0.2443818 0.1235096 
Petal.Length 0.5804131 0.02449161 0.1421264 0.8014492 
Petal.Width 0.5648565 0.06694199 0.6342727 -0.5235971 

#check 
prcomp(Iris, scale=T) 
Rotation: 
        PC1   PC2  PC3  PC4 
Sepal.Length 0.5210659 -0.37741762 0.7195664 0.2612863 
Sepal.Width -0.2693474 -0.92329566 -0.2443818 -0.1235096 
Petal.Length 0.5804131 -0.02449161 -0.1421264 -0.8014492 
Petal.Width 0.5648565 -0.06694199 -0.6342727 0.5235971 

코드의 또 다른 라인, 당신은 PCA 개체에서 부하를 취득하고자하는 경우 : 다시

sweep(res$var$coord, 2, sqrt(res$eig[,1]),'/') 
+0

어떻게 varimax rotation을 적용 할 수 있습니까? – maxie