## Stata 15 help for rotate

```
[MV] rotate --  Orthogonal and oblique rotations after factor and pca

Syntax

rotate [, options]

rotate, clear

options               Description
-------------------------------------------------------------------------
Main
orthogonal          restrict to orthogonal rotations; the default,
except with promax()
oblique             allow oblique rotations
rotation_methods    rotation criterion
normalize           rotate Kaiser normalized matrix
factors(#)          rotate # factors or components; default is to
rotate all
components(#)       synonym for factors()

Reporting
default is blanks(0)
detail              show rotatemat output; seldom used
format(%fmt)        display format for matrices; default is
format(%9.5f)
norotation          suppress display of rotation matrix

Optimization
optimize_options    control the maximization process; seldom used
-------------------------------------------------------------------------

rotation_methods      Description
-------------------------------------------------------------------------
* varimax             varimax (orthogonal only); the default
vgpf                varimax via the GPF algorithm (orthogonal only)
quartimax           quartimax (orthogonal only)
equamax             equamax (orthogonal only)
parsimax            parsimax (orthogonal only)
entropy             minimum entropy (orthogonal only)
tandem1             Comrey's tandem 1 principle (orthogonal only)
tandem2             Comrey's tandem 2 principle (orthogonal only)

* promax[(#)]         promax power # (implies oblique); default is
promax(3)

oblimin[(#)]        oblimin with gamma=#; default is oblimin(0)
cf(#)               Crawford-Ferguson family with kappa=#, 0<=#<=1
bentler             Bentler's invariant pattern simplicity
oblimax             oblimax
quartimin           quartimin
target(Tg)          rotate toward matrix Tg
partial(Tg W)       rotate toward matrix Tg, weighted by matrix W
-------------------------------------------------------------------------
* varimax and promax ignore all optimize_options.

Statistics > Multivariate analysis > Factor and principal component

Description

pca, and pcamat; see [MV] factor and [MV] pca.  Many rotation criteria
(such as varimax and oblimin) are available that can be applied with
respect to the orthogonal and oblique class of rotations.

rotate, clear removes the rotation results from the estimation results.

If you want to rotate a given matrix, see [MV] rotatemat.

If you want a Procrustes rotation, which rotates variables optimally
toward other variables, see [MV] procrustes.

Options

+------+
----+ Main +-------------------------------------------------------------

orthogonal specifies that an orthogonal rotation be applied.  This is the
default.

See Rotation criteria below for details on the rotation_methods
available with orthogonal.

oblique specifies that an oblique rotation be applied.  This often yields
more interpretable factors with a simpler structure than that
obtained with an orthogonal rotation.  In many applications (for
example, after factor and pca) the factors before rotation are
orthogonal (uncorrelated), whereas the oblique rotated factors are
correlated.

See Rotation criteria below for details on the rotation_methods
available with oblique.

clear specifies that rotation results be cleared (removed) from the last
estimation command.  clear may not be combined with any other option.

rotate stores its results within the e() results of pca and factor,
overwriting any previous rotation results.  Postestimation commands
such as predict operate on the last rotated results, if any, instead
of the unrotated results, and allow you to specify norotated to use
the unrotated results.  The clear option of rotate allows you to
remove the rotation results from e(), thus freeing you from having to
specify norotated for the postestimation commands.

normalize requests that the rotation be applied to the Kaiser
normalization (Horst 1965) of the matrix A, so that the rowwise sums
of squares equal 1.  Kaiser normalization applies to the rotated
columns only (see the factors() option below).

factors(#), and synonym components(#), specifies the number of factors or
"from the left", that is, with the lowest column index.  The other
columns are left unrotated.  All columns are rotated by default.

+-----------+
----+ Reporting +--------------------------------------------------------

detail displays the rotatemat output; seldom used.

format(%fmt) specifies the display format for matrices.  The default is
format(%9.5f).

norotation suppresses the display of the optimal rotation matrix.

+--------------+
----+ Optimization +-----------------------------------------------------

optimize_options are seldom used; see [MV] rotatemat.

Rotation criteria

In the descriptions below, the matrix to be rotated is denoted as A, p
denotes the number of rows of A, and f denotes the number of columns of A
(factors or components).  If A is a loading matrix from factor or pca, p
is the number of variables, and f the number of factors or components.

Criteria suitable only for orthogonal rotations

varimax and vgpf apply the orthogonal varimax rotation (Kaiser 1958).
factors (columns of A).  It is equivalent to cf(1/p) and to
oblimin(1).  varimax, the most popular rotation, is implemented
with a dedicated fast algorithm and ignores all optimize_options.
Specify vgpf to switch to the general GPF algorithm used for the
other criteria.

quartimax uses the quartimax criterion (Harman 1976).  quartimax
variables (rows of A).  For orthogonal rotations, quartimax is
equivalent to cf(0) and to oblimax.

equamax specifies the orthogonal equamax rotation.  equamax maximizes
a weighted sum of the varimax and quartimax criteria, reflecting
a concern for simple structure within variables (rows of A) as
well as within factors (columns of A).  equamax is equivalent to
oblimin(p/2) and cf(f/(2p)).

parsimax specifies the orthogonal parsimax rotation.  parsimax is
equivalent to cf((f-1)/(p+f-2)).

entropy applies the minimum entropy rotation criterion (Jennrich
2004).

tandem1 specifies that the first principle of Comrey's tandem be
applied.  According to Comrey (1967), this principle should be
used to judge which "small" factors should be dropped.

tandem2 specifies that the second principle of Comrey's tandem be
applied.  According to Comrey (1967), tandem2 should be used for
"polishing".

Criteria suitable only for oblique rotations

promax[(#)] specifies the oblique promax rotation.  The optional
argument specifies the promax power.  Not specifying the argument
is equivalent to specifying promax(3).  Values less than 4 are
recommended, but the choice is yours.  Larger promax powers
but at the cost of additional correlation between factors.
Choosing a value is a matter of trial and error, but most sources
find values in excess of 4 undesirable in practice.  The power
must be greater than 1 but is not restricted to integers.

Promax rotation is an oblique rotation method that was developed
before the "analytical methods" (based on criterion optimization)
became computationally feasible.  Promax rotation comprises an
the elementwise #-power of the orthogonal varimax rotation of A.

Criteria suitable for orthogonal and oblique rotations

oblimin[(#)] specifies that the oblimin criterion with gamma = # be
used.  When restricted to orthogonal transformations, the
oblimin() family is equivalent to the orthomax criterion
function.  Special cases of oblimin() include

+------------------------------------+
| gamma    Special case              |
|------------------------------------|
| 0        quartimax / quartimin     |
| 1/2      biquartimax / biquartimin |
| 1        varimax / covarimin       |
| p/2      equamax                   |
+------------------------------------+
p = number of rows of A.

gamma defaults to zero.  Jennrich (1979) recommends gamma < 0 is
recommended for oblique rotations.  For gamma > 0 it is possible
that optimal oblique rotations do not exist; the iterative
procedure used to compute the solution will wander off to a
degenerate solution.

cf(#) specifies that a criterion from the Crawford-Ferguson (1970)
family be used with kappa = #.  cf(kappa) can be seen as
(1-kappa)cf_1(A) + kappa cf_2(A), where cf_1(A) is a measure of
row parsimony and cf_2(A) is a measure of column parsimony.
cf_1(A) attains its greatest lower bound when no row of A has
more than one nonzero element, whereas cf_2(A) reaches zero if no
column of A has more than one nonzero element.

For orthogonal rotations, the Crawford-Ferguson family is
equivalent to the oblimin() family.  For orthogonal rotations,
special cases include the following:

+----------------------------------------+
| kappa            Special case          |
|----------------------------------------|
| 0                quartimax / quartimin |
| 1/p              varimax / covarimin   |
| f/(2p)           equamax               |
| (f-1)/(p+f-2)    parsimax              |
| 1                factor parsimony      |
+----------------------------------------+
p = number of rows of A.
f = number of columns of A.

bentler specifies that Bentler's "invariant pattern simplicity"
criterion (Bentler 1977) be used.

oblimax specifies the oblimax criterion.  oblimax maximizes the
quartimax for orthogonal rotations.

quartimin specifies that the quartimin criterion be used.  For
orthogonal rotations, quartimin is equivalent to quartimax.

target(Tg) specifies that A be rotated as near as possible to the
conformable matrix Tg.  Nearness is expressed by the Frobenius
matrix norm.

partial(Tg W) specifies that A be rotated as near as possible to the
conformable matrix Tg.  Nearness is expressed by a weighted (by
W) Frobenius matrix norm.  W should be nonnegative, and usually
is zero-one valued, with ones identifying the target values to be

Examples

Setup
. webuse bg2
. factor bg2cost1-bg2cost6, factors(2)

Perform varimax rotation, the default
. rotate

Perform oblique promax rotation with promax power equal to 2
. rotate, oblique promax(2)

Stored results

rotate adds stored results named e(r_name) to the stored results that
were already defined by factor or pca.

rotate adds to the following results:

Scalars
e(r_f)                   number of factors/components in rotated
solution
e(r_fmin)                rotation criterion value

Macros
e(r_class)               orthogonal or oblique
e(r_criterion)           rotation criterion
e(r_ctitle)              title for rotation
e(r_normalization)       kaiser or none

Matrices
e(r_T)                   rotation
e(r_Phi)                 correlations between common factors (after
factor only)
e(r_Ev)                  explained variance by common factors (factor)
or rotated components (pca)

The factors/components in the rotated solution are in decreasing order of
e(r_Ev).

References

Bentler, P. M. 1977. Factor simplicity index and transformations.
Psychometrika 42: 277-295.

Comrey, A. L. 1967.  Tandem criteria for analytic rotation in factor
analysis.  Psychometrika 32: 277-295.

Crawford, C. B., and G. A. Ferguson. 1970. A general rotation criterion
and its use in orthogonal rotation.  Psychometrika 35: 321-332.

Harman, H. H. 1976. Modern Factor Analysis. 3rd ed.  Chicago: University
of Chicago Press.

Horst, P. 1965. Factor Analysis of Data Matrices.  New York: Holt,
Rinehart & Winston.

Jennrich, R. I. 1979. Admissible values of gamma in direct oblimin
rotation.  Psychometrika 44: 173-177.