Learn R Programming

lavaan (version 0.5-9)

lavaan: Fit a Latent Variable Model

Description

Fit a latent variable model.

Usage

lavaan(model = NULL, model.type = "sem", meanstructure = "default", 
    int.ov.free = FALSE, int.lv.free = FALSE, fixed.x = "default", 
    orthogonal = FALSE, std.lv = FALSE, auto.fix.first = FALSE, 
    auto.fix.single = FALSE, auto.var = FALSE, auto.cov.lv.x = FALSE, 
    auto.cov.y = FALSE, auto.th = FALSE, auto.delta = FALSE, 
    data = NULL, std.ov = FALSE, missing = "default", ordered = NULL, 
    sample.cov = NULL, sample.mean = NULL, sample.nobs = NULL, 
    group = NULL, group.label = NULL, group.equal = "", group.partial = "", 
    cluster = NULL, constraints = "", estimator = "default", 
    likelihood = "default", information = "default", 
    se = "default", test = "default", bootstrap = 1000L, mimic = "default", 
    representation = "default", do.fit = TRUE, control = list(), 
    start = "default", slotOptions = NULL, slotParTable = NULL, 
    slotSampleStats = NULL, slotData = NULL, slotModel = NULL, 
    verbose = FALSE, warn = TRUE, debug = FALSE)

Arguments

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 tab
model.type
Set the model type: possible values are "cfa", "sem" or "growth". This may affect how starting values are computed, and may be used to alter the terminology used in the summary output, or the layout of pa
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.
int.ov.free
If FALSE, the intercepts of the observed variables are fixed to zero.
int.lv.free
If FALSE, the intercepts of the latent variables are fixed to zero.
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, v
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.
auto.fix.first
If TRUE, the factor loading of the first indicator is set to 1.0 for every latent variable.
auto.fix.single
If TRUE, the residual variance (if included) of an observed indicator is set to zero if it is the only indicator of a latent variable.
auto.var
If TRUE, the residual variances and the variances of exogenous latent variables are included in the model and set free.
auto.cov.lv.x
If TRUE, the covariances of exogenous latent variables are included in the model and set free.
auto.cov.y
If TRUE, the covariances of dependent variables (both observed and latent) are included in the model and set free.
auto.th
If TRUE, thresholds for limited dependent variables are included in the model and set free.
auto.delta
If TRUE, response scaling parameters for limited dependent variables are included in the model and set free.
data
An optional data frame containing the observed variables used in the model. If some variables are declared as ordered factors, lavaan will treat them as ordinal variables. This can be overriden by the ordered argument.
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 Maxi
ordered
Character vector. Only used if the data is in a data.frame. Treat these variables as ordered (ordinal) variables, if they are endogenous in the model. Importantly, all other variables will be treated as numeric (overriding any attributes in
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.label
A character vector. The user can specify which group (or factor) levels need to be selected from the grouping variable, and in which order. If missing, all grouping levels are selected, in the order as they appear in the data.
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","thresholds", "regressions",
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).
cluster
Not used yet.
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), "ULS"
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
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
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 "rob
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. I
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 to "lavaan", which is very clo
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 op
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
slotOptions
Options slot from a fitted lavaan object. If provided, no new Options slot will be created by this call.
slotParTable
ParTable slot from a fitted lavaan object. If provided, no new ParTable slot will be created by this call.
slotSampleStats
SampleStats slot from a fitted lavaan object. If provided, no new SampleStats slot will be created by this call.
slotData
Data slot from a fitted lavaan object. If provided, no new Data slot will be created by this call.
slotModel
Model slot from a fitted lavaan object. If provided, no new Model slot will be created by this call.
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.

Value

  • An object of class lavaan, for which several methods are available, including a summary method.

References

Yves Rosseel (2012). lavaan: An R Package for Structural Equation Modeling. Journal of Statistical Software, 48(2), 1-36. URL http://www.jstatsoft.org/v48/i02/.

See Also

cfa, sem, growth

Examples

Run this code
# The Holzinger and Swineford (1939) example
HS.model <- 'visual  =~ x1 + x2 + x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9 '

fit <- lavaan(HS.model, data=HolzingerSwineford1939,
              auto.var=TRUE, auto.fix.first=TRUE,
              auto.cov.lv.x=TRUE)
summary(fit, fit.measures=TRUE)

Run the code above in your browser using DataLab