SEMinR Lecture Series - REF-REF and REF-FOR Higher Order Construct Analysis
SEMinR Lecture Series
This session is focused on how to estimate and validate REF-REF and REF-FOR Higher Order Constructs using SEMinR in Cran R
Reflective-Formative Higher Order Construct
- A Reflective-Formative model is one where the first order has reflective indicators while in the second order the dimensions are formative. Here is how it looks
Steps in Analyzing Reflective-Reflective and Reflective-Formative Higher Order Construct
Step 1: Asses the Reliability and Validity for all the Lower Order Reflective Constructs (No matter whether they belong to a Reflective or Formative Higher Order Construct)
Step 2: Assess the Reliability and Validity of the Higher Order Reflective-Reflective Construct (At the Second Order/Level). Also include any reflective LOCs when assessing the Reliability and Validity of the Higher Order Ref-Ref model.
Step 3: Assess the Validity of the Higher/Second Order Formative Construct (Assess Collinearity, Indicators Weight, Factor Loadings).
Step 4: Evaluate the Structural Model
- Collinearity Diagnostics
- Assess the Structural Relationships
- Explanatory Power
Example
- The example model for this session is
- Blue Solid Line: Reflective-Reflective
- Red Dots: Reflective-Formative
- Green Dashes: Lower Order Construct
Step 1: SEMinR Code
#One Reflective and One Formative - No Error
library(seminr)
# Load the Data
datas <- read.csv(file = "Data.csv", header = TRUE, sep = ",")
head(datas)
# 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("Assurance", multi_items("ASR", 1:4)),
composite("Reliability", multi_items("REL", 1:5)),
composite("Empathy", multi_items("EMP", 1:5)),
composite("Responsiveness", multi_items("RES", 1:4)),
composite("Organizational Performance", multi_items("OP", 1:5)))
# Create structural model
simple_sm = relationships(
paths(from = c("Vision", "Development", "Rewards"), to = "Organizational Performance"),
paths(from = c("Vision", "Development", "Rewards"), to = c("Assurance", "Reliability", "Empathy", "Responsiveness")),
paths(from = c("Assurance", "Reliability", "Empathy", "Responsiveness"), to = "Organizational Performance"))
# Estimate the model
simple_model=estimate_pls(data=datas, measurement_model=simple_mm, structural_model=simple_sm)
plot(simple_model)
# Summarize the model results
summary_simple = summary(simple_model)
#Factor Loadings
summary_simple$loadings
#Reliability
summary_simple$reliability
#F&L Criteria
summary_simple$validity$fl_criteria
#HTMT
summary_simple$validity$htmt
#Cross Loadings
summary_simple$validity$cross_loadings
#Collinearity analysis
summary_simple$validity$vif_items
Step 2: SEMinR Code
#One Reflective and One Formative - No Error
library(seminr)
# Load the Data
datas <- read.csv(file = "F:\\YouTube Videos\\SEMinR\\Data.csv", header = TRUE, sep = ",")
head(datas)
# 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)),
higher_composite("IM", c("Vision","Development","Rewards"), method = "two stage"),
composite("Assurance", multi_items("ASR", 1:4)),
composite("Reliability", multi_items("REL", 1:5)),
composite("Empathy", multi_items("EMP", 1:5)),
composite("Responsiveness", multi_items("RES", 1:4)),
higher_composite("ISQ", c("Assurance","Reliability", "Empathy", "Responsiveness"), method = "two stage", weights = mode_B),
composite("Organizational Performance", multi_items("OP", 1:5)))
# Create structural model
simple_sm = relationships(
paths(from = "IM", to = "ISQ"),
paths(from = "ISQ", to = "Organizational Performance"),
paths(from = "IM", to = "Organizational Performance"))
# Estimate the model
simple_model=estimate_pls(data=datas, measurement_model=simple_mm, structural_model=simple_sm)
plot(simple_model)
# Summarize the model results
summary_simple = summary(simple_model)
#Factor Loadings
summary_simple$loadings
#Reliability
summary_simple$reliability
#F&L Criteria
summary_simple$validity$fl_criteria
#HTMT
summary_simple$validity$htmt
#Cross Loadings
summary_simple$validity$cross_loadings
#Collinearity analysis
summary_simple$validity$vif_items
# Bootstrap the model on the PLS Estimated Model
boot_model <- bootstrap_model(
seminr_model = simple_model,
nboot = 1000,
cores = parallel::detectCores(),
seed = 123)
# Store the summary of the bootstrapped model
# alpha sets the specified level for significance, i.e. 0.05
summary_boot <- summary(boot_model, alpha = 0.10)
summary_boot$bootstrapped_weights
summary_simple$validity$vif_items
summary_boot$bootstrapped_loadings
specific_effect_significance(boot_seminr_model = boot_model, from = "IM", through = "ISQ", to = "Organizational Performance", alpha = 0.05)
summary_boot$bootstrapped_paths
plot(boot_model)
Video Tutorial
Reference
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.
Â
Additional SEMinR Tutorials
- An Introduction to R and R Studio
- An Introduction to SEMinR Package
- Create Project, Load, and Inspect the Data
- SEMinR Package: An Introduction to Evaluating Formative Measurement Model
- SEMinR Package: Analyzing Categorical Predictor Variables
- SEMinR Package: Bootstrapping PLS Model
- SEMinR Package: Evaluating Formative Measurement Model – Convergent Validity and Collinearity
- SEMinR Package: Evaluating Formative Measurement Model – Step 3- Indicator Weights
- SEMinR Package: Evaluating Formative Measurement Model – When to Delete Formative Indicators
- SEMinR Package: Evaluating Reflective Measurement Model
- SEMinR Package: Evaluating Structural Model
- SEMinR Package: Evaluating Structural Model – Step 4: Predictive Power (PLSPredict)
- SEMinR Package: Higher Order Analysis – REF-FOR
- SEMinR Package: How to Solve Convergent and Discriminant Validity Problems
- SEMinR Package: Mediation Analysis
- SEMinR Package: Moderation Analysis
- SEMinR Package: PLS Estimation
- SEMinR Package: Print, Export and Plot Results
- SEMinR Package: Reflective Measurement Model Step 2: Consistency and Step 3: Convergent Validity
- SEMinR Package: Reflective Measurement Model Step 4: Discriminant Validity
- SEMinR Package: Single Item, SmartPLS Comparison and Summary of SEMinR
- SEMinR Package: Specifying Measurement Model
- SEMinR Package: Specifying the Structural Model