The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

PLSsemEngine: A Transparent PLS-SEM Engine in Base R πŸ“Š

License: MIT DOI

Version: 1.3.0 (2026-06-15)

PLSsemEngine provides a transparent, modular, and reproducible implementation of Partial Least Squares Structural Equation Modeling (PLS-SEM), specifically designed for composite-based Mode A estimation of reflective models.


🌟 Purpose and Philosophy

The software prioritizes:


βš™οΈ Computational Workflow

The engine follows a standardized and inspectable PLS-SEM pipeline:

  1. Data Standardization: Handles mean-centered and standardized scales.
  2. Iterative Mode A Estimation: Factorial weighting scheme by default.
  3. Measurement Evaluation: Loadings, CR, AVE, HTMT, and HTMT2.
  4. Structural Estimation: Path coefficients via OLS on latent scores with \(f^2\) effect sizes.
  5. Inference: Non-parametric percentile bootstrap for structural significance.
  6. Prediction: Strict k-fold cross-validation following the PLSpredict protocol.
  7. Model Fit: Assessment via SRMR, \(d_{ULS}\), and \(d_G\).

Note: Deterministic sign alignment is implemented to ensure stability across resamples and eliminate sign indeterminacy.


πŸš€ What’s New in V1.3.0 (Response to Reviewers)


πŸ› οΈ Minimal Example

# Install and load the engine
# devtools::install_github("msoto-perez/PLSsemEngine")
library(PLSsemEngine)

# 1. Generate data
set.seed(123)
data <- data.frame(
  SQ1=rnorm(100), SQ2=rnorm(100), SQ3=rnorm(100),
  CS1=rnorm(100), CS2=rnorm(100), CS3=rnorm(100),
  CL1=rnorm(100), CL2=rnorm(100), CL3=rnorm(100)
)

# 2. Define Models using Native R structures
mm <- list(
  Quality = c("SQ1", "SQ2", "SQ3"),
  Satisfaction = c("CS1", "CS2", "CS3"),
  Loyalty = c("CL1", "CL2", "CL3")
)

sm <- list(
  Satisfaction ~ Quality,
  Loyalty ~ Satisfaction + Quality
)

# 3. Run Analysis
model <- pls_sem(data=data, measurement_model=mm, structural_model=sm)

# 4. Methodological Bridge & Interpretation
export_lavaan_syntax(mm, sm)
interpret_model(model)

# 5. View Results
print(model$tables$table4)  # Structural Paths

πŸ“– Citation If you use this software, please cite:

Manuscript: Soto-Perez, M. (2026). A transparent PLSsemEngine for composite-based Mode A estimation of reflective models in R. SoftwareX. (Under review) .

Software Archive: Soto-Perez, M. (2026). PLSsemEngine (Version 1.3.0). Zenodo. https://doi.org/10.5281/zenodo.20703909

βœ‰οΈ Contact Dr.Β M. Soto-Perez Email: msoto@up.edu.mx

Universidad Panamericana, Mexico.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.