Learn R Programming

semTools (version 0.5-2)

efaUnrotate: Analyze Unrotated Exploratory Factor Analysis Model

Description

This function will analyze unrotated exploratory factor analysis model. The unrotated solution can be rotated by the orthRotate and oblqRotate functions.

Usage

efaUnrotate(data, nf, varList = NULL, start = TRUE, aux = NULL, ...)

Arguments

data

A target data.frame

nf

The desired number of factors

varList

Target observed variables. If not specified, all variables in data will be used.

start

Use starting values in the analysis from the factanal function. If FALSE, the starting values from the lavaan package will be used. TRUE is ignored with a warning if the aux argument is used.

aux

The list of auxiliary variables. These variables will be included in the model by the saturated-correlates approach to account for missing information.

Other arguments in the cfa function in the lavaan package, such as ordered, se, or estimator

Value

A lavaan output of unrotated exploratory factor analysis solution.

Details

This function will generate a lavaan script for unrotated exploratory factor analysis model such that (1) all factor loadings are estimated, (2) factor variances are fixed to 1, (3) factor covariances are fixed to 0, and (4) the dot products of any pairs of columns in the factor loading matrix are fixed to zero (Johnson & Wichern, 2002). The reason for creating this function in addition to the factanal function is that users can enjoy some advanced features from the lavaan package such as scaled \(\chi^2\), diagonal weighted least squares for ordinal indicators, or full-information maximum likelihood (FIML).

Examples

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

dat <- data.frame(HolzingerSwineford1939,
                  z = rnorm(nrow(HolzingerSwineford1939), 0, 1))
unrotated2 <- efaUnrotate(dat, nf = 2, varList = paste0("x", 1:9), aux = "z")

# }

Run the code above in your browser using DataLab