Learn R Programming

⚠️There's a newer version (2.4.2) of this package.Take me there.

SEMinR brings many advancements to creating and estimating structural equation models (SEM) using Partial Least Squares Path Modeling (PLS-PM):

  • A natural feeling, domain-specific language to build and estimate structural equation models in R
  • Uses variance-based PLS estimation to model both composite and common-factor constructs
  • High-level functions to quickly specify interactions and complicated structural models

SEMinR follows the latest best-practices in methodological literature:

  • Automatically adjusts PLS estimates to ensure consistency (PLSc) wherever common factors are involved
  • Ajusts for known biases in interaction terms in PLS models
  • Continuously tested against leading PLSPM software to ensure parity of outcomes: SmartPLS (Ringle et al., 2015) and ADANCO (Henseler and Dijkstra, 2015), as well as other R packages such as semPLS (Monecke and Leisch, 2012) and matrixpls (Rönkkö, 2016)
  • High performance, multi-core bootstrapping function

Documentation

The vignette for Seminr can be found in the CRAN folder or by running the vignette("SEMinR") command after installation.

Demo code for use of Seminr can be found in the seminr/demo/ folder or by running the demo("seminr-contained"), demo("seminr-ecsi") or demo("seminr-interaction") commands after installation.

Installation

You can install SEMinR with:

install.packages("seminr")

Usage

Briefly, there are four steps to specifying and estimating a structural equation model using SEMinR:

1 Describe measurement model for each construct and its items including any interactions or higher order constructs:

# Distinguish and mix composite or reflective (common-factor) measurement models
measurements <- constructs(
  composite("Image",       multi_items("IMAG", 1:5), weights = mode_B),
  composite("Expectation", multi_items("CUEX", 1:3), weights = mode_A),
  reflective("Loyalty",    multi_items("CUSL", 1:3)),
  composite("Quality",      multi_items("PERQ", 1:7)),
  composite("Complaints",   single_item("CUSCO")),
  interaction_term(iv = "Image", moderator = "Expectation", method = orthogonal),
  interaction_term(iv = "Image", moderator = "Value", method = orthogonal),
  higher_composite("Value", dimensions = c("Quality","Complaints"), method = two_stage, weights = mode_B)
)

2 Describe the structural model of causal relationships between constructs (and interactions):

# Quickly create multiple paths "from" and "to" sets of constructs
structure <- relationships(
  paths(from = c("Image", "Expectation", "Image*Expectation","Image*Value"), 
        to = "Loyalty")
)

3 Put the above elements together to estimate and bootstrap the model:

# Dynamically compose SEM models from individual parts
pls_model <- estimate_pls(data = mobi, measurements, structure)
summary(pls_model)

# Use multi-core parallel processing to speed up bootstraps
boot_estimates <- bootstrap_model(pls_model, nboot = 1000, cores = 2)
summary(boot_estimates)

Authors

  • Soumya Ray
  • Nicholas Danks

Copy Link

Version

Install

install.packages('seminr')

Monthly Downloads

2,888

Version

1.0.2

License

GPL-3

Maintainer

Nicholas Danks

Last Published

May 8th, 2020

Functions in seminr (1.0.2)

mode_A

Outer weighting scheme functions to estimate construct weighting.
path_factorial

Inner weighting scheme functions to estimate inner paths matrix
path_weighting

Inner weighting scheme functions to estimate inner paths matrix
reflective

Reflective construct measurement model specification
product_indicator

product_indicator creates interaction measurement items by scaled product indicator approach.
bootstrap_model

seminr bootstrap_model Function
rho_A

seminr rho_A Function
simplePLS

seminr simplePLS Function
relationships

Structural specification functions for seminr package
report_paths

Functions for reporting the Path Coefficients and R2 of endogenous constructs and for generating a scatterplot matrix of construct scores.
mode_B

Outer weighting scheme functions to estimate construct weighting.
multi_items

Multi-items measurement model specification
orthogonal

orthogonal creates interaction measurement items by using the orthogonalized approach..
single_item

Single-item measurement model specification
two_stage

two_stage creates an interaction measurement item by the two-stage approach.
interaction_term

Interaction Function
composite

Composite construct measurement model specification
higher_composite

higher_composite
constructs

Measurement functions
mobi

Measurement Instrument for the Mobile Phone Industry
PLSc

seminr PLSc Function
confidence_interval

seminr confidence intervals function
fSquared

seminr fSquared Function
estimate_pls

seminr estimate_pls() function