(25 Jan 2022): lavaan version 0.6-10 has been released on CRAN. This is a maintenance release with mostly changes under the hood. See Version History for more information.
(11 Oct 2021): the open-access paper ‘Computational Options for Standard Errors and Test Statistics with Incomplete Normal and Nonnormal Data in SEM’ (by Savalei and Rosseel) is now available online. The preprint (in LaTeX) can be found on PsyArXiv.
(18 July 2021): a first draft of the paper: ‘Using bounded estimation to avoid nonconvergence in small sample structural equation modeling’ is now available on the OSF repository (update Sept 2021: accepted for publication in the SEM journal)
(16 June 2021): a first draft of the paper: ‘The Structural-After-Measurement (SAM) approach to SEM’ is now available on the OSF repository.
(7 June 2021): new (technical) paper describing the multilevel + fiml approach as used in lavaan 0.6-9 is published in Psych.
The lavaan package is developed to provide useRs, researchers and teachers a free open-source, but commercial-quality package for latent variable modeling. You can use lavaan to estimate a large variety of multivariate statistical models, including path analysis, confirmatory factor analysis, structural equation modeling and growth curve models.
The official reference to the lavaan package is the following paper:
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/
To get a first impression of how lavaan works in practice, consider the following example of a SEM model. The figure below contains a graphical representation of the model that we want to fit.
myModel <- '
# latent variables
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
# residual covariances
y1 ~~ y5
y2 ~~ y4 + y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y8
'
fit <- sem(model = myModel,
data = PoliticalDemocracy)
summary(fit)