Skip to main content

Structural Equation Modeling: A Quick Overview of the Lavaan Package in R

 

Structural equation modeling (SEM) is a multivariate statistical technique that can be used to test and estimate relationships between observed variables and latent (unobserved) constructs. SEM allows you to test complex hypotheses about relationships between variables and can be used to test a variety of models, including confirmatory factor analysis, path analysis, and latent growth curve models.

To apply SEM in R, you can use the lavaan package. This package provides a wide range of functions for estimating, modifying, and evaluating SEM models.

Here is an example of how you can use lavaan to fit a SEM model in R:

1. Install and load the lavaan package:

install.packages("lavaan")
library(lavaan)
 

2. Specify the model using the lavaan syntax. The syntax consists of a series of statements that define the model, including the relationships between observed variables and latent constructs, the measurement models for each observed variable, and any constraints on the parameters of the model. Here is an example of a simple SEM model with one latent construct and two observed variables:

model <- '
  # latent construct
  construct =~ x1 + x2
 
  # measurement models
  x1 ~ a*construct
  x2 ~ b*construct
'
 

3. Fit the model to the data using the sem function:

fit <- sem(model, data=data)

4. Evaluate the fit of the model using various fit indices, such as the root mean square error of approximation (RMSEA) and the comparative fit index (CFI).

summary(fit, fit.measures=TRUE)

There are many other options and functions available in the lavaan package for estimating, modifying, and evaluating SEM models. You can find more information in the package documentation and in various online resources on SEM.