pca - Principal component analysis with EQUAMAX rotation in R -
pca - Principal component analysis with EQUAMAX rotation in R -
i need principal component analysis (pca
) equamax-rotation
in r
.
unfortunately function "principal()"
utilize pca
not offer kind of rotation.
i find out may possible somehow bundle gparotation
not yet figure out how utilize in pca
.
maybe can give illustration on how equamax-rotation
pca
?
or there function pca
in bundle offers utilize of equamax-rotation
directly?
thank help!
the bundle psych
guess using principal()
has rotations varimax
, quatimax
, promax
, oblimin
, simplimax
, , cluster
not equimax
(psych p.232) compromise between varimax , quartimax
excerpt stata manual: mvrotate p.3
rotation criteria
in descriptions below, matrix rotated denoted a, p denotes number of rows of a, , f denotes number of columns of a (factors or components). if a loading matrix factor or pca, p number of variables, , f number of factors or components.
criteria suitable orthogonal rotations
varimax
, vgpf
apply orthogonal varimax
rotation (kaiser 1958). varimax
maximizes variance of squared loadings within factors (columns of a). equivalent cf
(1/p) , oblimin
(1). varimax
, popular rotation, implemented dedicated fast algorithm , ignores optimize options. specify vgpf
switch general gpf algorithm used other criteria.
quartimax
uses quartimax
criterion (harman 1976). quartimax
maximizes variance of squared loadings within variables (rows of a). orthogonal rotations, quartimax
equivalent cf
(0) , oblimax
.
equamax
specifies orthogonal equamax
rotation. equamax
maximizes weighted sum of varimax
, quartimax
criteria, reflecting concern simple construction within variables (rows of a) within factors (columns of a). equamax
equivalent oblimin(p/2)
, cf(#)
, # = f /(2p).
now cf
(crawford-ferguson) method available in gparotation
cft
orthogonal crawford-ferguson family
cft(l, tmat=diag(ncol(l)), kappa=0, normalize=false, eps=1e-5, maxit=1000)
the argument kappa parameterizes family crawford-ferguson method. if m number of factors , p number of indicators kappa values having special names 0=quartimax, 1/p=varimax, m/(2*p)=equamax, (m-1)/(p+m-2)=parsimax, 1=factor parsimony.
x <- matrix(rnorm(500), ncol=10) c <- cor(x) eig <- eigen(c) # pca hand scaled sqrt eig$vectors * t(matrix(rep(sqrt(eig$values), 10), ncol=10)) require(psych) pca0 <- principal(c, rotate='none', nfactors=10) #pca psych pca0 # original loadings pca0 scaled squarroot eigenvalue apply(pca0$loadings^2, 2, sum) # ss loadings ## pca equimax rotation # think equamax rotation can performed cft m/(2*p) # p number of variables (10) # m (or f in stata manual) number of components (10) # gives m==p --> kappa=0.5 pca.eq <- cft(pca0$loadings, kappa=0.5) pca.eq
i upgraded of pca
knowledge question, hope helps, luck
r pca rotational-matrices
Comments
Post a Comment