# varimax: Rotation Methods for Factor Analysis

## Usage

 ```1 2``` ```varimax(x, normalize = TRUE, eps = 1e-5) promax(x, m = 4) ```

## Arguments

 `x` A loadings matrix, with p rows and k < p columns `m` The power used the target for `promax`. Values of 2 to 4 are recommended. `normalize` logical. Should Kaiser normalization be performed? If so the rows of `x` are re-scaled to unit length before rotation, and scaled back afterwards. `eps` The tolerance for stopping: the relative change in the sum of singular values.

## Details

These seek a ‘rotation’ of the factors `x %*% T` that aims to clarify the structure of the loadings matrix. The matrix `T` is a rotation (possibly with reflection) for `varimax`, but a general linear transformation for `promax`, with the variance of the factors being preserved.

## Value

A list with components

 `loadings` The ‘rotated’ loadings matrix, `x %*% rotmat`, of class `"loadings"`. `rotmat` The ‘rotation’ matrix.

## References

Hendrickson, A. E. and White, P. O. (1964). Promax: a quick method for rotation to orthogonal oblique structure. British Journal of Statistical Psychology, 17, 65–70. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.1111/j.2044-8317.1964.tb00244.x")}.

Horst, P. (1965). Factor Analysis of Data Matrices. Holt, Rinehart and Winston. Chapter 10.

Kaiser, H. F. (1958). The varimax criterion for analytic rotation in factor analysis. Psychometrika, 23, 187–200. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("10.1007/BF02289233")}.

Lawley, D. N. and Maxwell, A. E. (1971). Factor Analysis as a Statistical Method, second edition. Butterworths.

`factanal`, `Harman74.cor`.
 ```1 2 3 4``` ```## varimax with normalize = TRUE is the default fa <- factanal( ~., 2, data = swiss) varimax(loadings(fa), normalize = FALSE) promax(loadings(fa)) ```