Learn R Programming

GPArotateDF (version 2025.7-1)

rotationsDF: Rotations

Description

Optimize factor loading rotation objective.

Usage

cubimax.df(A, Tmat=diag(ncol(A)), normalize=FALSE, eps=1e-5, maxit=1000)
	fssQ.df(A, Tmat=diag(ncol(A)), kij=2, normalize=FALSE, eps=1e-5, maxit=1000)
	fssT.df(A, Tmat=diag(ncol(A)), kij=2, normalize=FALSE, eps=1e-5, maxit=1000)

Value

A list (which includes elements used by factanal) with:

loadings

Lh from GPForth.df or GPFoblq.df.

Th

Th from GPForth.df or GPFoblq.df.

Table

Table from GPForth.df or GPFoblq.df.

method

A string indicating the rotation objective function.

orthogonal

A logical indicating if the rotation is orthogonal.

convergence

Convergence indicator from GPForth.df or GPFoblq.df.

Phi

t(Th) %*% Th. The covariance matrix of the rotated factors. This will be the identity matrix for orthogonal rotations so is omitted (NULL) for the result from GPForth.df.

Arguments

A

an initial factor loadings matrix to be rotated.

Tmat

initial rotation matrix.

kij

minimum additional number of forced simple structure loadings in a pair of factors.

normalize

parameter passed to optimization routine (GPForth.df or GPFoblq.df).

eps

parameter passed to optimization routine (GPForth.df or GPFoblq.df).

maxit

parameter passed to optimization routine (GPForth.df or GPFoblq.df).

Author

Coen A. Bernaards and Robert I. Jennrich

Details

The functions listed here optimize a rotation objective. They can be used directly or the function name can be passed to factor analysis functions like factanal.

Available rotations are

cubimax.dforthogonalCubimax
fssQ.dfobliqueForced Simple Structure (see Vignette)
fssT.dforthogonalForced Simple Structure (see Vignette)

The argument kij for Forced Simple Structure is the minimum number of forced simple structure loadings in a pair of factors, in addition to the number of factors itself. Meaningful values are integers (1, ..., items - factors )

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.

Jennrich, R.I. (2004) Derivative free gradient projection algorithms for rotation, Psychometrika, 69(3), 475--480.

See Also

GPForth.df, GPFoblq.df, ff.cubimax, ff.fss, factanal

Examples

Run this code
  data(ability.cov)
  x <- factanal(factors = 3, covmat = ability.cov, rotation="none")
  fssT.df(x$loadings, kij = 2)
  fssQ.df(x$loadings, kij = 4)

  # 3 different methods
  data("WansbeekMeijer", package="GPArotation")
  fa.unrotated  <- factanal(factors = 3, covmat=NetherlandsTV, rotation="none")
  #
  fa.varimax <- GPForth.df(loadings(fa.unrotated), method = "varimax", normalize = TRUE)
  fa.cubimax <- cubimax.df(loadings(fa.unrotated), normalize = TRUE)
  fa.quartimax <- GPForth.df(loadings(fa.unrotated), method = "quartimax", normalize = TRUE)
  print(cbind(loadings(fa.varimax), loadings(fa.cubimax), loadings(fa.quartimax)), digits = 2)   
  

Run the code above in your browser using DataLab