REM_EFA | R Documentation |
This function uses the robust expectation maximization (REM) algorithm to estimate the parameters of an exploratory factor analysis model as suggested by Nieser & Cochran (2021).
REM_EFA(X, k_range, delta = 0.05, rotation = "oblimin", ctrREM = controlREM())
X |
data to analyze; should be a data frame or matrix |
k_range |
vector of the number of factors to consider |
delta |
hyperparameter between 0 and 1 that captures the researcher’s tolerance of incorrectly down-weighting data from the model (default = 0.05) |
rotation |
factor rotation method (default = 'oblimin'); 'varimax' is the only other available option at this time |
ctrREM |
control parameters (default: (steps = 25, tol = 1e-6, maxiter = 1e3, min_weights = 1e-30, max_ueps = 0.3, chk_gamma = 0.9, n = 2e4)) |
REM_EFA returns an object of class "REM". The function summary()
is used to obtain estimated parameters from the model. An object of class "REM" in Exploratory Factor Analysis is a list of outputs with four different components for each number of factor: the matched call (call), estimates using traditional expectation maximization (EM_output), estimates using robust expectation maximization (REM_output), and a summary table (summary_table). The list contains the following components:
call |
match call |
model |
model frame |
k |
number of factors |
constraints |
p x k matrix of zeros and ones denoting the factors (rows) and observed variables (columns) |
epsilon |
hyperparameter on the likelihood scale |
AIC_rem |
Akaike information criterion based on REM estimates |
BIC_rem |
Bayesian information criterion based on REM estimates |
mu |
item intercepts |
lambda |
factor loadings |
psi |
unique variances of items |
phi |
factor covariance matrix |
gamma |
average weight |
weights |
estimated REM weights |
ind_lik |
likelihood value for each individual |
lik_rem |
joint log-likelihood evaluated at REM estimates |
lik |
joint log-likelihood evaluated at EM estimates |
mu.se |
standard errors of items intercepts |
lambda.se |
standard errors of factor loadings |
psi.se |
standard errors of unique variances of items |
gamma.se |
standard error of gamma |
summary_table |
summary of EM and REM estimates, SEs, Z statistics, p-values, and 95% confidence intervals |
The summary function can be used to obtain estimated parameters from the optimal model based on the BIC from the EM and REM algorithms.
Bryan Ortiz-Torres (bortiztorres@wisc.edu); Kenneth Nieser (nieser@stanford.edu)
Nieser, K. J., & Cochran, A. L. (2021). Addressing heterogeneous populations in latent variable settings through robust estimation. Psychological Methods.
summary.REMLA()
for more detailed summaries, oblimin()
and varimax()
for details on the rotation
# Modeling Exploratory Factor Analysis
library(lavaan)
library(GPArotation)
df <- HolzingerSwineford1939
data = df[,-c(1:6)]
model_EFA = REM_EFA( X = data, k_range = 1:3, delta = 0.05)
summary(model_EFA)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.