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

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

c# - Create a Notification Object (Email or Page) At Run Time -- Dependency Injection or Factory -

Set Up Of Common Name Of SSL Certificate To Protect Plesk Panel -