Learn R Programming

GPArotation (version 2026.8-2)

vgQ: Rotation Criteria: Value and Gradient Functions

Description

Rotation criterion functions that compute the value and gradient of the rotation objective Q. Not exported from the package NAMESPACE.

Usage

vgQ.oblimin(L, gam=0)
    vgQ.quartimin(L)
    vgQ.target(L, Target=NULL)
    vgQ.pst(L, W=NULL, Target=NULL)
    vgQ.oblimax(L)
    vgQ.entropy(L)
    vgQ.quartimax(L)
    vgQ.varimax(L)
    vgQ.simplimax(L, k=nrow(L) * (ncol(L) - 1))
    vgQ.bentler(L)
    vgQ.tandemI(L)
    vgQ.tandemII(L)
    vgQ.geomin(L, delta=0.01)
    vgQ.bigeomin(L, delta=0.01)
    vgQ.cf(L, kappa=0)
    vgQ.infomax(L)
    vgQ.mccammon(L)
    vgQ.varimin(L)
    vgQ.bifactor(L)
    vgQ.lp.wls(L, W)

Value

A list with:

f

The value of the rotation criterion at L.

Gq

The gradient of the criterion at L.

Method

A string indicating the criterion name.

Arguments

L

a factor loading matrix.

gam

0 = Quartimin, 0.5 = Biquartimin, 1 = Covarimin.

Target

rotation target matrix for objective calculation.

W

weight matrix; weighting of each element in target rotation (vgQ.pst) or in iterative reweighted least squares (vgQ.lp.wls).

k

number of near-zero loadings to target.

delta

small constant added to \(\Lambda^2\) for numerical stability in the objective calculation.

kappa

complexity weight for the Crawford-Ferguson family; see cfT for details.

Author

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

Details

The vgQ.* functions are called internally by the gradient projection optimization routines and would typically not be used directly. They can be inspected using :::, for example: GPArotation:::vgQ.oblimin. The gradient projection algorithms are described in Bernaards and Jennrich (2005).

The T or Q suffix on rotation function names should be omitted for the corresponding vgQ.* function. For example, GPArotation:::vgQ.target is the criterion used by both targetT and targetQ.

vgQ.obliminorthogonal or obliqueoblimin family
vgQ.quartiminobliqueoblimin with gam = 0
vgQ.targetorthogonal or obliquetarget rotation
vgQ.pstorthogonal or obliquepartially specified target rotation
vgQ.oblimaxobliquemaximizes overall kurtosis of loadings
vgQ.entropyorthogonalminimum entropy
vgQ.quartimaxorthogonalmaximizes variance of squared loadings within variables
vgQ.varimaxorthogonalmaximizes variance of squared loadings within factors
vgQ.simplimaxobliqueminimizes the k smallest squared loadings
vgQ.bentlerorthogonal or obliqueBentler invariant pattern simplicity
vgQ.tandemIorthogonalTandem principle I criterion
vgQ.tandemIIorthogonalTandem principle II criterion
vgQ.geominorthogonal or obliqueminimizes geometric mean of squared loadings
vgQ.bigeominorthogonal or obliquegeomin with a general factor in column 1
vgQ.cforthogonal or obliqueCrawford-Ferguson family
vgQ.infomaxorthogonal or obliqueinfomax information criterion
vgQ.mccammonorthogonalMcCammon minimum entropy ratio
vgQ.variminorthogonalvarimin criterion
vgQ.bifactororthogonal or obliquebifactor/biquartimin rotation
vgQ.lp.wlsorthogonal or obliqueiterative reweighted least squares for \(L^p\) rotation

See rotations for details on rotation arguments.

New rotation criteria can be added by defining a function named vgQ.newmethod. The function takes L as its first argument, plus any additional arguments, and must return a list with elements f, Gq, and Method.

Gradient projection without derivatives can be performed using the GPArotateDF package; type vignette("GPArotateDF", package = "GPArotation") at the command line.

References

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. tools:::Rd_expr_doi("10.1177/0013164404272507")

See Also

rotations, GPFRSorth

Examples

Run this code
  GPArotation:::vgQ.oblimin

Run the code above in your browser using DataLab