Fit a Structural Equation Model (SEM).
model |
A description of the user-specified model. Typically, the model
is described using the lavaan model syntax. See
model.syntax for more information. Alternatively, a
parameter list (eg. the output of the lavaanify() function) is also
accepted.
|
meanstructure |
If TRUE, the means of the observed
variables enter the model. If "default", the value is set based
on the user-specified model, and/or the values of other arguments.
|
fixed.x |
If TRUE, the exogenous ‘x’ covariates are considered
fixed variables and the means, variances and covariances of these variables
are fixed to their sample values. If FALSE, they are considered
random, and the means, variances and covariances are free parameters. If
"default", the value is set depending on the mimic option.
|
orthogonal |
If TRUE, the exogenous latent variables
are assumed to be uncorrelated.
|
std.lv |
If TRUE, the metric of each latent variable is
determined by fixing their variances to 1.0. If FALSE, the metric
of each latent variable is determined by fixing the factor loading of the
first indicator to 1.0.
|
data |
An optional data frame containing the observed variables used in
the model.
|
std.ov |
If TRUE, all observed variables are standardized
before entering the analysis.
|
missing |
If "listwise", cases with missing values are removed
listwise from the data frame before analysis. If "direct" or
"ml" or "fiml" and the estimator is maximum likelihood,
Full Information Maximum Likelihood (FIML) estimation is used using all
available data in the data frame. This is only valid if the data are
missing completely at random (MCAR) or missing at random (MAR). If
"default", the value is set depending on the estimator and the
mimic option.
|
sample.cov |
Numeric matrix. A sample variance-covariance matrix.
The rownames must contain the observed variable names.
For a multiple group analysis, a list with a variance-covariance matrix
for each group.
|
sample.mean |
A sample mean vector. For a multiple group analysis,
a list with a mean vector for each group.
|
sample.nobs |
Number of observations if the full data frame is missing
and only sample moments are given. For a multiple group analysis, a list
or a vector with the number of observations for each group.
|
group |
A variable name in the data frame defining the groups in a
multiple group analysis.
|
group.equal |
A vector of character strings. Only used in
a multiple group analysis. Can be one or more of the following:
"loadings", "intercepts", "means",
"regressions", "residuals",
"residual.covariances", "lv.variances" or
"lv.covariances", specifying the pattern of equality
constraints across multiple groups.
|
group.partial |
A vector of character strings containing the labels
of the parameters which should be free in all groups (thereby
overriding the group.equal argument for some specific parameters).
|
constraints |
Additional (in)equality constraints not yet included in the
model syntax. See model.syntax for more information.
|
estimator |
The estimator to be used. Can be one of the following:
"ML" for maximum likelihood, "GLS" for generalized least
squares, "WLS" for weighted least squares (sometimes called ADF
estimation), "MLM" for maximum likelihood estimation with robust
standard errors and a Satorra-Bentler scaled test statistic,
"MLF" for maximum likelihood estimation with standard errors
based on first-order derivatives and a conventional test statistic,
"MLR" for maximum likelihood estimation with robust ‘Huber-White’
standard errors and a scaled test statistic which is asymptotically
equivalent to the Yuan-Bentler T2-star test statistic. Note that the
"MLM", "MLF" and "MLR" choices only affect the
standard errors and the test statistic. They also imply
mimic="Mplus".
|
likelihood |
Only relevant for ML estimation. If "wishart",
the wishart likelihood approach is used. In this approach, the covariance
matrix has been divided by N-1, and both standard errors and test
statistics are based on N-1.
If "normal", the normal likelihood approach is used. Here,
the covariance matrix has been divided by N, and both standard errors
and test statistics are based on N. If "default", it depends
on the mimic option: if mimic="Mplus", normal likelihood is used;
otherwise, wishart likelihood is used.
|
information |
If "expected", the expected information matrix
is used (to compute the standard errors). If "observed", the
observed information matrix is used. If "default", the value is
set depending on the estimator and the mimic option.
|
se |
If "standard", conventional standard errors
are computed based on inverting the (expected or observed) information
matrix. If "first.order", standard errors are computed based on
first-order derivatives. If "robust.mlm", conventional robust
standard errors are computed.
If "robust.mlr",
standard errors are computed based on the ‘mlr’ (aka pseudo ML,
Huber-White) approach.
If "robust", either "robust.mlm" or "robust.mlr" is
used depending on the estimator, the mimic option, and whether the data
are complete or not.
If "boot" or "bootstrap", bootstrap standard errors are
computed using standard bootstrapping (unless Bollen-Stine bootstrapping
is requested for the test statistic; in this case bootstrap standard
errors are computed using model-based bootstrapping).
If "none", no standard errors are computed.
|
test |
If "standard", a conventional chi-square test is computed.
If "Satorra-Bentler", a Satorra-Bentler scaled test statistic is
computed. If "Yuan-Bentler", a Yuan-Bentler scaled test statistic
is computed. If "boot" or "bootstrap" or
"bollen.stine", the Bollen-Stine bootstrap is used to compute
the bootstrap probability value of the test statistic.
If "default", the value depends on the
values of other arguments.
|
bootstrap |
Number of bootstrap draws, if bootstrapping is used.
|
mimic |
If "Mplus", an attempt is made to mimic the Mplus
program. If "EQS", an attempt is made to mimic the EQS program.
If "default", the value is (currently) set to "Mplus".
|
representation |
If "LISREL" the classical LISREL matrix
representation is used to represent the model (using the all-y variant).
|
do.fit |
If FALSE, the model is not fit, and the current
starting values of the model parameters are preserved.
|
control |
A list containing control parameters passed to the optimizer.
By default, lavaan uses "nlminb". See the manpage of
nlminb for an overview of the control parameters.
A different optimizer can be chosen by setting the value of
optim.method. For unconstrained optimization (the model syntax
does not include any "==", ">" or "<" operators),
the available options are "nlminb" (the default), "BFGS" and
"L-BFGS-B". See the manpage of the optim function for
the control parameters of the latter two options. For constrained
optimization, the only available option is "nlminb.constr".
|
start |
If it is a character string,
the two options are currently "simple" and "Mplus".
In the first
case, all parameter values are set to zero, except the factor loadings
(set to one), the variances of latent variables (set to 0.05), and
the residual variances of observed variables (set to half the observed
variance).
If "Mplus", we use a similar scheme, but the factor loadings are
estimated using the fabin3 estimator (tsls) per factor.
If start is a fitted
object of class lavaan, the estimated values of
the corresponding parameters will be extracted. If it is a model list,
for example the output of the paramaterEstimates() function,
the values of the est or start or ustart column
(whichever is found first) will be extracted.
|
verbose |
If TRUE, the function value is printed out during
each iteration.
|
warn |
If TRUE, some (possibly harmless) warnings are printed
out during the iterations.
|
debug |
If TRUE, debugging information is printed out.
|