Learn R Programming

semTools (version 0.5-3)

orthRotate: Implement orthogonal or oblique rotation

Description

These functions will implement orthogonal or oblique rotation on standardized factor loadings from a lavaan output.

Usage

orthRotate(object, method = "varimax", ...)

oblqRotate(object, method = "quartimin", ...)

funRotate(object, fun, ...)

Arguments

object

A lavaan output

method

The method of rotations, such as "varimax", "quartimax", "geomin", "oblimin", or any gradient projection algorithms listed in the GPA function in the GPArotation package.

Additional arguments for the GPForth function (for orthRotate), the GPFoblq function (for oblqRotate), or the function that users provide in the fun argument.

fun

The name of the function that users wish to rotate the standardized solution. The functions must take the first argument as the standardized loading matrix and return the GPArotation object. Check this page for available functions: rotations.

Value

An linkS4class{EFA} object that saves the rotated EFA solution

Details

These functions will rotate the unrotated standardized factor loadings by orthogonal rotation using the GPForth function or oblique rotation using the GPFoblq function the GPArotation package. The resulting rotation matrix will be used to calculate standard errors of the rotated standardized factor loading by delta method by numerically computing the Jacobian matrix by the lav_func_jacobian_simple function.

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
unrotated <- efaUnrotate(HolzingerSwineford1939, nf = 3,
                         varList = paste0("x", 1:9), estimator = "mlr")

# Orthogonal varimax
out.varimax <- orthRotate(unrotated, method = "varimax")
summary(out.varimax, sort = FALSE, suppress = 0.3)

# Orthogonal Quartimin
orthRotate(unrotated, method = "quartimin")

# Oblique Quartimin
oblqRotate(unrotated, method = "quartimin")

# Geomin
oblqRotate(unrotated, method = "geomin")

# Target rotation
library(GPArotation)
target <- matrix(0, 9, 3)
target[1:3, 1] <- NA
target[4:6, 2] <- NA
target[7:9, 3] <- NA
colnames(target) <- c("factor1", "factor2", "factor3")
## This function works with GPArotation version 2012.3-1
funRotate(unrotated, fun = "targetQ", Target = target)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab