View on GitHub

simsem

R package for simulated structural equation modeling

Download this project as a .zip file Download this project as a tar.gz file

simsem: SIMulated Structural Equation Modeling

This R package is designed to facilitate the simulation and analysis of data within the structural equation modeling (SEM) framework. It helps analysts generate simulated data based on hypotheses or analytic results from observed data. The simulated data can be used for various purposes, such as power analysis, model fit evaluation, and planned missing designs.

  1. Building simulated sampling distributions for fit indices. This package helps researchers tailor fit index cutoffs based on an a priori alpha level and a predefined definition of trivial model misspecification. In other words, users can simulate data based on their target model under controlled levels of misspecification. The resulting fit indices can then be used to construct empirical sampling distributions and determine appropriate cutoff values. Model parameters can be specified manually or derived from empirical data analysis. When parameters are based on empirical results, this approach corresponds to parametric bootstrap or Monte Carlo methods. The package also supports the Bollen–Stine bootstrap for data generation, as well as the generation of nonnormal data using a Gaussian copula.
  2. Power analysis. This package allows analysts to evaluate the statistical power of both parameter estimates and model fit tests. Power can be assessed under various missing data mechanisms, including missing completely at random (MCAR), missing at random (MAR), missing not at random (NMAR), and planned missing designs (e.g., n-form or two-method designs). Longitudinal missingness (attrition) can also be modeled under MCAR or MAR assumptions. Missing data can be handled using multiple imputation or full information maximum likelihood (FIML). Sample size and the proportion of missing data can be varied continuously, and power curves can be generated accordingly.
  3. Methodological investigations. This package supports methodological research in SEM by allowing users to systematically vary parameter values and model misspecifications and efficiently summarize simulation results. Nested models can be evaluated by comparing results across simulation conditions. The flexible handling of missing data further enhances its usefulness for methodological studies involving SEM and incomplete data.

Announcements

[April 02, 2026] Latest Update: simsem, Version 0.5-17

This is a maintenance release. All documentations has been converted to the roxygen format.

Main Developers

Sunthud Pornprasertmanit

Terry D. Jorgensen (maintainer)

Patrick Miller

Alexander Schoemann

Program

The package is still under development. You can install it from CRAN using:

install.packages("simsem")

If you are interested in the source code, please see the GitHub repository.

To install the development version, use:

devtools::install_github("simsem/simsem", subdir = "simsem")

Note that latestVersion should be replaced with the current version number. For example, "simsem_0.5-17.tar.gz".

If you wish to use the OpenMx package for data generation or analysis, please follow this link for installation instructions.

Please report any bugs or provide suggestions by opening an issue on GitHub.

Materials

Presentations and Papers

Version History

Acknowledgement

The development of simsem has been supported by the University of Kansas Center for Research Methods and Data Analysis.

Partial support for this project was provided by grant NSF 1053160 (Wei Wu & Todd D. Little, co-PIs) and the Center for Research Methods and Data Analysis at the University of Kansas (Todd D. Little, director). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the funding agencies.