00.GPArotation: Gradient Projection Algorithms for Factor Rotation

00.GPArotationR Documentation

Gradient Projection Algorithms for Factor Rotation


GPA Rotation for Factor Analysis

The GPArotation package contains functions for the rotation of factor loadings matrices. The functions implement Gradient Projection (GP) algorithms for orthogonal and oblique rotation. Additionally, a number of rotation criteria are provided. The GP algorithms minimize the rotation criterion function, and provide the corresponding rotation matrix. For oblique rotation, the covariance / correlation matrix of the factors is also provided. The rotation criteria implemented in this package are described in Bernaards and Jennrich (2005). Theory of the GP algorithm is described in Jennrich (2001, 2002) publications.

Additionally 2 rotation methods are provided that do not rely on GP (eiv and echelon)

Package: GPArotation
Depends: R (>= 2.0.0)
License: GPL Version 2.
URL: https://optimizer.r-forge.r-project.org/GPArotation_www/

Index of functions:

Wrapper functions that include random starts option

GPFRSorth Orthogonal rotation with random starts
GPFRSorth Oblique rotation with random starts

Gradient Projection Rotation Algorithms (code unchanged since 2008)

GPForth Orthogonal rotation function
GPForth Oblique rotation function

Utility functions

Random.Start Generate random a starting matrix
NormalizingWeight Kaiser normalization (not exported from NAMESPACE)
print.GPArotation Print results (S3 level function)
summary.GPArotation Summary of results (S3 level function)


oblimin Oblimin rotation
quartimin Quartimin rotation
targetT Orthogonal Target rotation
targetQ Oblique Target rotation
pstT Orthogonal Partially Specified Target rotation
pstQ Oblique Partially Specified Target rotation
oblimax Oblimax rotation
entropy Minimum Entropy rotation
quartimax Quartimax rotation
Varimax Varimax rotation
simplimax Simplimax rotation
bentlerT Orthogonal Bentler's Invariant Pattern Simplicity rotation
bentlerQ Oblique Bentler's Invariant Pattern Simplicity rotation
tandemI The Tandem Criteria Principle I rotation
tandemII The Tandem Criteria Principle II rotation
geominT Orthogonal Geomin rotation
geominQ Oblique Geomin rotation
bigeominT Orthogonal Bi-Geomin rotation
bigeominQ Oblique Bi-Geomin rotation
cfT Orthogonal Crawford-Ferguson Family rotation
cfQ Oblique Crawford-Ferguson Family rotation
equamax Equamax rotation
parsimax Parsimax rotation
infomaxT Orthogonal Infomax rotation
infomaxQ Oblique Infomax rotation
mccammon McCammon Minimum Entropy Ratio rotation
varimin Varimin rotation
bifactorT Orthogonal Bifactor rotation
bifactorQ Oblique Bifactor rotation
eiv Errors-in-Variables rotation
echelon Echelon rotation

vgQ routines to compute value and gradient of the criterion (not exported from NAMESPACE)

vgQ.oblimin Oblimin vgQ
vgQ.quartimin Quartimin vgQ
vgQ.target Target vgQ
vgQ.pst Partially Specified Target vgQ
vgQ.oblimax Oblimax vgQ
vgQ.entropy Minimum Entropy vgQ
vgQ.quartimax Quartimax vgQ
vgQ.varimax Varimax vgQ
vgQ.simplimax Simplimax vgQ
vgQ.bentler Bentler's Invariant Pattern Simplicity vgQ
vgQ.tandemI The Tandem Criteria Principle I vgQ
vgQ.tandemII The Tandem Criteria Principle II vgQ
vgQ.geomin Geomin vgQ
vgQ.bigeomin Bi-Geomin vgQ
vgQ.cf Crawford-Ferguson Family vgQ
vgQ.infomax Infomax vgQ
vgQ.mccammon McCammon Minimum Entropy Ratio vgQ
vgQ.varimin Varimin vgQ
vgQ.bifactor Bifactor vgQ

Data sets included in the GPArotation package

Harman Initial factor loading matrix for Harman's 8 physical variables
Thurstone box20 and box26 initial factor loadings matrices
WansbeekMeijer Netherlands TV viewership


Coen A. Bernaards and Robert I. Jennrich with some R modifications by Paul Gilbert.

Code is modified from original source ‘splusfunctions.net’ available at https://optimizer.r-forge.r-project.org/GPArotation_www/.


The software reference is

Bernaards, C.A. and Jennrich, R.I. (2005) Gradient Projection Algorithms and Software for Arbitrary Rotation Criteria in Factor Analysis. Educational and Psychological Measurement, 65, 676–696.

Theory of gradient projection algorithms may be found in:

Jennrich, R.I. (2001). A simple general procedure for orthogonal rotation. Psychometrika, 66, 289–306.

Jennrich, R.I. (2002). A simple general method for oblique rotation. Psychometrika, 67, 7–19.

See Also

GPFRSorth, GPFRSoblq, rotations, vgQ

GPArotation documentation built on May 29, 2024, 8:16 a.m.