Specifying the Structural Model in SEMinR

SEMinR Lecture Series Specifying Structural Model

Introduction to SEMinR

This lecture on SEMinR Package will introduce how to specify the structural model in the SEMinR package.


There are four steps to specify and estimate a structural equation model using SEMinR:

Step 3: Specifying the Structural Model

  • With our measurement model specified, we now specify the structural model. When a structural model is being developed, two primary issues need to be considered: the sequence of the constructs and the relationships between them.
  • Both issues are critical to the concept of modeling because they represent the hypotheses and their relationships to the theory being tested.
  • In most cases, researchers examine linear independent–dependent relationships between two or more constructs in the path model.
  • SEMinR makes structural model specification more human readable, domain relevant, and explicit by using these functions:
  • relationships() specifies all the structural relationships between all constructs.
  • paths() specifies relationships between sets of antecedents and outcomes.
  • The simple model shown earlier has three relationships. For example, to specify the relationships from Vision, Development, and Rewards to Collaborative Culture, we use the from and to arguments in the path function:

paths(from = c(“Vision”, “Development”, “Rewards”), to = “Collaborative Culture”).

#Step 3: Create structural model
simple_sm <- relationships(
paths(from = c("Vision", "Development", "Rewards"), to = "Collaborative Culture"))
#c can be used when specifying both multiple or single construct in a relationship

Here simple_sm is an object which stores the relationships in the study.

<- Can be considered as an equal sign that assigns the constructs to the object.

relationships function holds the proposed relationships identified as individual paths

The code mentioned above, is the depiction of the following framework.


Review of the Steps

Following is a brief review of the steps that have been discussed in SEMinR tutorials. 

  • Load the Library – library ()
  • Load the Data – read.csv
  • Review the Data – head()
  • Specify the Measurement Model – constructs()
  • Specify the Structural Model – relationships()
# Load the Data
datas <- read.csv(file = "Data.csv", header = TRUE, sep = ",")
# Create measurement model
simple_mm <- constructs(
  composite("Vision", multi_items("VIS", 1:4)),
  composite("Development", multi_items("DEV", 1:7)),
  composite("Rewards", multi_items("RW",1:4)),
  composite("Collaborative Culture", multi_items("CC", 1:6)))
# Create structural model
simple_sm <- relationships(
  paths(from = c("Vision", "Development", "Rewards"), to = "Collaborative Culture"))


Hair Jr, J. F., Hult, G. T. M., Ringle, C. M., Sarstedt, M., Danks, N. P., & Ray, S. (2021). Partial Least Squares Structural Equation Modeling (PLS-SEM) Using R: A Workbook.


The tutorials on SEMinR are based on the mentioned book. The book is open source and available for download under this link.

Download PDF

Video Tutorial - Coming Soon