Orthomax Rotations of Orthogonal Matrices

DESCRIPTION:
Finds the optimal othomax rotation for a matrix of loadings. Varimax, quartimin, and equimax rotations are selected through the gamma argument.

USAGE:
orthomax(amat, gamma=1, normalize=T, iter.max=100, eps=1e-05)

REQUIRED ARGUMENTS:
amat:
a p by k orthogonal matrix with p < k.

OPTIONAL ARGUMENTS:
gamma:
parameter which determines the type of rotation performed. Common rotations and the corresponding value of gamma are: varimax (1), quartimax (0), and equamax (k/2). Generally positive values (not larger than about 5*k) are used for gamma, but negative values are possible.
normalize:
logical flag: if TRUE, Kaiser normalization is performed. In Kaiser normalization (Kaiser, 1958), the criterion is adjusted so that the rows in amat are adjusted to an L-2 norm of 1.
iter.max:
the maximum number of iterations allowed.
eps:
when the change in the orthomax criterion is less than eps from one iteration to the next, convergence is assumed.

VALUE:
a list with the following components:
rmat:
the rotated version of amat.
gamma:
the value of gamma used.
normalize:
the input value of normalize.
iterations:
the number of iterations used.
tmat:
the transformation matrix. Thus amat %*% tmat is equal to rmat up to numerical precision.
orthogonal:
the value TRUE.

DETAILS:
This computes rotations for the orthomax family of rotations by performing rotations on pairs of columns. The criterion that is being minimized is: sum(lam^2) - gamma/p * sum(apply(lam, 1, sum)^2) where lam is the (possibly) normalized version of the rmat output with all elements squared.

REFERENCES:
Harman, H. H. (1976). Modern Factor Analysis, 3rd Edition. University of Chicago Press, Chicago.

Kaiser, H. F. (1958). The varimax criterion for analytic rotation in factor analysis. Psychometrika 23 187-200.


SEE ALSO:
obliquemin , procrustes , rotate .

EXAMPLES:
prim9.pcl <- princomp(prim9)$loadings

orthomax(prim9.pcl[,1:4], gamma=3)