| run_efa | R Documentation | 
This function is intended for use on independent samples rather than integrated with k-fold cross-validation.
run_efa(
  data,
  variables = names(data),
  m = floor(ncol(data)/4),
  rotation = "oblimin",
  simple = TRUE,
  min.loading = NA,
  single.item = c("keep", "drop", "none"),
  identified = TRUE,
  constrain0 = FALSE,
  ordered = FALSE,
  estimator = NULL,
  missing = "listwise",
  ...
)
data | 
 a   | 
variables | 
 character vector of column names in   | 
m | 
 integer; maximum number of factors to extract. Default is 4 items per factor.  | 
rotation | 
 character (case-sensitive); any rotation method listed in
  | 
simple | 
 logical; Should the perfect simple structure be returned (default) when converting EFA results to CFA syntax?
If   | 
min.loading | 
 numeric between 0 and 1 indicating the minimum (absolute) value of the loading for a variable on a factor
when converting EFA results to CFA syntax. Must be specified when   | 
single.item | 
 character indicating how single-item factors should be treated.
Use   | 
identified | 
 logical; Should identification check for rotational uniqueness a la Millsap (2001) be performed?
If the model is not identified   | 
constrain0 | 
 logical; Should variable(s) with all loadings below   | 
ordered | 
 logical; Should items be treated as ordinal and the
polychoric correlations used in the factor analysis? When   | 
estimator | 
 if   | 
missing | 
 default is "listwise". See   | 
... | 
 other arguments passed to   | 
When converting EFA results to CFA syntax (via efa_cfa_syntax), the simple structure is
defined as each variable loading onto a single factor. This is determined using the largest factor loading for each variable.
When simple = FALSE, variables are allowed to cross-load on multiple factors. In this case, all pathways with loadings
above the min.loading are retained. However, allowing cross-loading variables can result in model under-identification.
An identification check is run by default, but can be turned off by setting identified = FALSE.
A three-element list:
efas lavaan object for each m model
loadings (rotated) factor loading matrix for each m model
cfa.syntax CFA syntax generated from loadings
Millsap, R. E. (2001). When trivial constraints are not trivial: The choice of uniqueness constraints in confirmatory factor analysis. Structural Equation Modeling, 8(1), 1-17. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1207/S15328007SEM0801_1")}
# simulate data based on a 3-factor model with standardized loadings
sim.mod <- "f1 =~ .7*x1 + .8*x2 + .3*x3 + .7*x4 + .6*x5 + .8*x6 + .4*x7
                f2 =~ .8*x8 + .7*x9 + .6*x10 + .5*x11 + .5*x12 + .7*x13 + .6*x14
                f3 =~ .6*x15 + .5*x16 + .9*x17 + .4*x18 + .7*x19 + .5*x20
                f1 ~~ .2*f2
                f2 ~~ .2*f3
                f1 ~~ .2*f3
                x9 ~~ .2*x10"
set.seed(1161)
sim.data <- simstandard::sim_standardized(sim.mod, n = 900,
                                          latent = FALSE,
                                          errors = FALSE)[c(2:9,1,10:20)]
# Run 1-, 2-, and 3-factor models
efas <- run_efa(sim.data, m = 3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.