- data
A data frame containing the observed variables we need for the
EFA. If only a subset of the observed variables is needed, use the
ov.names
argument.
- nfactors
Integer or Integer vector. The desired number of factors
to extract. Can be a single number, or a vector of numbers
(e.g., nfactors = 1:4
.), For each different number, a model
is fitted.
- sample.cov
Numeric matrix. A sample variance-covariance matrix.
The rownames and/or colnames must contain the observed variable names.
Unlike sem and CFA, the matrix may be a correlation matrix.
- sample.nobs
Number of observations if the full data frame is missing
and only the sample variance-covariance matrix is given.
- rotation
Character. The rotation method to be used. Possible options
are varimax, quartimax, orthomax, oblimin, quartimin, geomin, promax,
entropy, mccammon, infomax, tandem1, tandem2, oblimax, bentler, simplimax,
target.strict, target (alias for pst), pst (=partially specified target),
cf, crawford-ferguson,
cf-quartimax, cf-varimax, cf-equamax,
cf-parsimax, cf-facparsim, biquartimin, bigeomin. The latter two are
for bifactor rotation only. The rotation algorithms (except promax
and target) are similar to those from the GPArotation package, but have
been reimplemented for better control. The promax method is taken from the
stats package. The target.strict method is equal to the target method in
the GPArotation package. The target method is in fact the pst method where
all non-zero elements (in the target matrix) are ignored.
- rotation.args
List. Options related to the rotation algorithm. The
default options (and their alternatives) are orthogonal = FALSE
,
row.weights = "default"
(or "kaiser"
,
"cureton.mulaik"
or "none"
), std.ov = TRUE
,
algorithm = "gpa"
(or "pairwise"
), rstarts = 30
,
gpa.tol = 1e-05
, tol = 1e-08
, max.iter = 10000L
,
warn = FALSE
, verbose = FALSE
, reflect = TRUE
,
order.lv.by = "index"
(or "sumofsquares"
or "none"
).
Other options are specific for a particular rotation criterion:
geomin.epsilon = 0.001
, orthomax.gamma = 1
,
promax.kappa = 4
,
cf.gamma = 0
, and oblimin.gamma = 0
.
- ov.names
Character vector. The variables names that are needed for
the EFA. Should be a subset of the variables names in the data.frame.
By default (if NULL), all the variables in the data are used.
- bounds
Per default, bounds = "pos.var"
forces all variances
of both observed and latent variables to be strictly nonnegative. See
the entry in lavOptions
for more options.
- ...
Aditional options to be passed to lavaan, using 'name = value'.
See lavOptions
for a complete list.
- output
Character. If "efa"
(the default), the output mimics
the typical output of an EFA. If "lavaan"
, a lavaan object returned.
The latter is only possible if nfactors contains a single (integer) number.