rblimp

R interface to Blimp for Bayesian latent variable modeling, missing data analysis, and multiple imputation.

R-CMD-check CRAN_Status_Badge

Overview

rblimp provides a seamless interface to integrate Blimp software into R workflows. Blimp offers general-purpose Bayesian estimation for a wide range of single-level and multilevel structural equation models with two or three levels, with or without missing data.

Key Features

Installation

Step 1: Install rblimp

Install from CRAN:

install.packages("rblimp")

Or install the development version from GitHub:

# install.packages("remotes")
remotes::install_github("blimp-stats/rblimp")

Step 2: Install Blimp Software

rblimp requires the Blimp engine. The simplest path is to let rblimp install it for you:

library(rblimp)
install_blimp()

This downloads the latest Blimp engine into a user-writable directory:

Override the location with the R_BLIMP_HOME environment variable. Remove with uninstall_blimp().

If you’d rather use the system installer, visit https://www.appliedmissingdata.com/blimp and follow the install instructions there.

Step 3 (optional): Configure Blimp manually

If you’ve installed Blimp to a non-standard location:

# Automatic detection (also offered the first time you run a model)
detect_blimp()

# Or set manually
set_blimp("/path/to/blimp")

# Verify
has_blimp()

Privacy

Downloads are recorded for usage statistics. See privacy policy: https://www.blimpstats.com/privacy

Getting Started

View the getting started guide:

?rblimp_getting_started

Explore function documentation:

?rblimp          # Fit Bayesian models
?rblimp_fcs      # Multiple imputation
?rblimp_sim      # Data simulation
help(package = "rblimp")

Quick Example

library(rblimp)

# Generate data with latent factor
mydata <- rblimp_sim(
  c(
    'f ~ normal(0, 1)',
    'x1:x5 ~ normal(f, 1)',
    'y ~ normal(10 + 0.3*f, 1 - .3^2)'
  ),
  n = 500,
  seed = 19723,
  variables = c('y', 'x1:x5')
)

# Fit SEM model
model <- rblimp(
  list(
    structure = 'y ~ f',
    measurement = 'f -> x1:x5'
  ),
  mydata,
  seed = 3927,
  latent = ~ f
)

# View results
summary(model)

# Check convergence
trace_plot(model)

Resources

Citation

If you use rblimp in your research, please cite both the package and Blimp software. Use citation("rblimp") for citation information.

License

GPL-3