cSEM

cSEM Tutorial for Confirmatory Composite Analysis

Get the data here.

Install the recent version of cSEM:

devtools::install_github("FloSchuberth/cSEM")
install.packages("readxl")

Load the cSEM package:

library(cSEM)
## 
## Attaching package: 'cSEM'
## The following object is masked from 'package:stats':
## 
##     predict
## The following object is masked from 'package:grDevices':
## 
##     savePlot

Import the dataset. For that reason, please select the IT_Flex.xlsx file.

ITFlex <- as.data.frame(readxl::read_excel(choose.files()))

Specify the model with a saturated structural model:

model_IT_Fex="
# Composite models
ITComp  <~ ITCOMP1 + ITCOMP2 + ITCOMP3 + ITCOMP4
Modul   <~ MOD1 + MOD2 + MOD3 + MOD4
ITConn  <~ ITCONN1 + ITCONN2 + ITCONN3 + ITCONN4
ITPers  <~ ITPSF1 + ITPSF2 + ITPSF3 + ITPSF4

# Saturated structural model
ITPers ~ ITComp + Modul + ITConn
Modul  ~ ITComp + ITConn
ITConn ~ ITComp
"

Estimate the model using MAXVAR:

out <- csem(.data = ITFlex,
            .model = model_IT_Fex,
            .approach_weights = "MAXVAR",
            .resample_method = "bootstrap",
            .dominant_indicators = c("ITComp" = "ITCOMP1","ITConn"="ITCONN1",
                                     "Modul"="MOD1","ITPers"="ITPSF1"))

Return model summary:

summarize(out)
## ________________________________________________________________________________
## ----------------------------------- Overview -----------------------------------
## 
##  General information:
##  ------------------------
##  Estimation status                  = Ok
##  Number of observations             = 100
##  Weight estimator                   = MAXVAR
##  Type of indicator correlation      = Pearson
##  Path model estimator               = OLS
##  Second-order approach              = NA
##  Type of path model                 = Linear
##  Disattenuated                      = No
## 
##  Resample information:
##  ---------------------
##  Resample method                    = "bootstrap"
##  Number of resamples                = 499
##  Number of admissible results       = 499
##  Approach to handle inadmissibles   = "drop"
##  Sign change option                 = "none"
##  Random seed                        = 1628426985
## 
##  Construct details:
##  ------------------
##  Name    Modeled as     Order         
## 
##  ITComp  Composite      First order   
##  ITConn  Composite      First order   
##  Modul   Composite      First order   
##  ITPers  Composite      First order   
## 
## ----------------------------------- Estimates ----------------------------------
## 
## Estimated path coefficients:
## ============================
##                                                                  CI_percentile   
##   Path               Estimate  Std. error   t-stat.   p-value         95%        
##   ITConn ~ ITComp      0.6014      0.0871    6.9022    0.0000 [ 0.4634; 0.7480 ] 
##   Modul ~ ITComp       0.3702      0.1069    3.4625    0.0005 [ 0.1463; 0.5595 ] 
##   Modul ~ ITConn       0.3878      0.1098    3.5321    0.0004 [ 0.2063; 0.5988 ] 
##   ITPers ~ ITComp      0.0182      0.1306    0.1392    0.8893 [-0.2183; 0.2986 ] 
##   ITPers ~ ITConn      0.2420      0.1127    2.1473    0.0318 [ 0.0370; 0.4882 ] 
##   ITPers ~ Modul       0.4243      0.1121    3.7858    0.0002 [ 0.1931; 0.6104 ] 
## 
## Estimated loadings:
## ===================
##                                                                    CI_percentile   
##   Loading              Estimate  Std. error   t-stat.   p-value         95%        
##   ITComp =~ ITCOMP1      0.6048      0.1256    4.8166    0.0000 [ 0.3292; 0.8256 ] 
##   ITComp =~ ITCOMP2      0.5964      0.1442    4.1353    0.0000 [ 0.2768; 0.8214 ] 
##   ITComp =~ ITCOMP3      0.9272      0.0792   11.7090    0.0000 [ 0.7128; 0.9886 ] 
##   ITComp =~ ITCOMP4      0.7164      0.1199    5.9771    0.0000 [ 0.4262; 0.8792 ] 
##   ITConn =~ ITCONN1      0.4205      0.1360    3.0927    0.0020 [ 0.1208; 0.6656 ] 
##   ITConn =~ ITCONN2      0.6899      0.1277    5.4028    0.0000 [ 0.4004; 0.8518 ] 
##   ITConn =~ ITCONN3      0.9100      0.1047    8.6885    0.0000 [ 0.7226; 0.9767 ] 
##   ITConn =~ ITCONN4      0.7354      0.1229    5.9827    0.0000 [ 0.5139; 0.8910 ] 
##   Modul =~ MOD1          0.6137      0.1265    4.8527    0.0000 [ 0.2907; 0.7783 ] 
##   Modul =~ MOD2          0.7714      0.0785    9.8312    0.0000 [ 0.5576; 0.8868 ] 
##   Modul =~ MOD3          0.7599      0.0834    9.1115    0.0000 [ 0.5629; 0.8850 ] 
##   Modul =~ MOD4          0.7636      0.0887    8.6051    0.0000 [ 0.5625; 0.8999 ] 
##   ITPers =~ ITPSF1       0.7956      0.1137    6.9988    0.0000 [ 0.4999; 0.9404 ] 
##   ITPers =~ ITPSF2       0.6493      0.1515    4.2867    0.0000 [ 0.2525; 0.8536 ] 
##   ITPers =~ ITPSF3       0.7974      0.1214    6.5682    0.0000 [ 0.4722; 0.9468 ] 
##   ITPers =~ ITPSF4       0.6628      0.1476    4.4901    0.0000 [ 0.3204; 0.8799 ] 
## 
## Estimated weights:
## ==================
##                                                                    CI_percentile   
##   Weight               Estimate  Std. error   t-stat.   p-value         95%        
##   ITComp <~ ITCOMP1      0.2798      0.1559    1.7944    0.0727 [-0.0111; 0.5998 ] 
##   ITComp <~ ITCOMP2     -0.1123      0.1859   -0.6041    0.5458 [-0.4616; 0.2461 ] 
##   ITComp <~ ITCOMP3      0.7449      0.1889    3.9444    0.0001 [ 0.3177; 1.0759 ] 
##   ITComp <~ ITCOMP4      0.2891      0.1842    1.5695    0.1165 [-0.0753; 0.6088 ] 
##   ITConn <~ ITCONN1      0.1321      0.1641    0.8049    0.4209 [-0.2066; 0.4551 ] 
##   ITConn <~ ITCONN2      0.1986      0.1808    1.0980    0.2722 [-0.1907; 0.5009 ] 
##   ITConn <~ ITCONN3      0.6056      0.1402    4.3189    0.0000 [ 0.3119; 0.8524 ] 
##   ITConn <~ ITCONN4      0.3486      0.1663    2.0963    0.0361 [ 0.0433; 0.6593 ] 
##   Modul <~ MOD1          0.1739      0.1467    1.1854    0.2359 [-0.1585; 0.4292 ] 
##   Modul <~ MOD2          0.4265      0.1590    2.6830    0.0073 [ 0.1255; 0.6987 ] 
##   Modul <~ MOD3          0.2181      0.1583    1.3779    0.1682 [-0.0933; 0.5494 ] 
##   Modul <~ MOD4          0.5220      0.1264    4.1281    0.0000 [ 0.2671; 0.7580 ] 
##   ITPers <~ ITPSF1       0.4565      0.2121    2.1525    0.0314 [ 0.0205; 0.8613 ] 
##   ITPers <~ ITPSF2       0.1953      0.2288    0.8534    0.3934 [-0.3277; 0.6127 ] 
##   ITPers <~ ITPSF3       0.5127      0.1966    2.6075    0.0091 [ 0.1555; 0.8903 ] 
##   ITPers <~ ITPSF4       0.1527      0.2454    0.6223    0.5337 [-0.3252; 0.6258 ] 
## 
## Estimated indicator correlations:
## =================================
##                                                                     CI_percentile   
##   Correlation           Estimate  Std. error   t-stat.   p-value         95%        
##   ITCOMP1 ~~ ITCOMP2      0.4564      0.0918    4.9725    0.0000 [ 0.2510; 0.6084 ] 
##   ITCOMP1 ~~ ITCOMP3      0.3629      0.1017    3.5690    0.0004 [ 0.1497; 0.5548 ] 
##   ITCOMP1 ~~ ITCOMP4      0.3666      0.0937    3.9109    0.0001 [ 0.1439; 0.5341 ] 
##   ITCOMP2 ~~ ITCOMP3      0.5917      0.0820    7.2196    0.0000 [ 0.4181; 0.7260 ] 
##   ITCOMP2 ~~ ITCOMP4      0.4852      0.0877    5.5350    0.0000 [ 0.2976; 0.6509 ] 
##   ITCOMP3 ~~ ITCOMP4      0.5092      0.1024    4.9716    0.0000 [ 0.2904; 0.6817 ] 
##   ITCONN1 ~~ ITCONN2      0.4521      0.0991    4.5601    0.0000 [ 0.2490; 0.6213 ] 
##   ITCONN1 ~~ ITCONN3      0.2813      0.1066    2.6385    0.0083 [ 0.0649; 0.4925 ] 
##   ITCONN1 ~~ ITCONN4      0.0811      0.1086    0.7468    0.4552 [-0.1283; 0.3045 ] 
##   ITCONN2 ~~ ITCONN3      0.4841      0.0972    4.9802    0.0000 [ 0.2717; 0.6529 ] 
##   ITCONN2 ~~ ITCONN4      0.3970      0.0786    5.0528    0.0000 [ 0.2335; 0.5373 ] 
##   ITCONN3 ~~ ITCONN4      0.4908      0.0966    5.0802    0.0000 [ 0.2747; 0.6546 ] 
##   MOD1 ~~ MOD2            0.4652      0.0924    5.0345    0.0000 [ 0.2838; 0.6223 ] 
##   MOD1 ~~ MOD3            0.4036      0.0836    4.8246    0.0000 [ 0.2262; 0.5539 ] 
##   MOD1 ~~ MOD4            0.2939      0.0922    3.1863    0.0014 [ 0.1018; 0.4604 ] 
##   MOD2 ~~ MOD3            0.6237      0.0576   10.8218    0.0000 [ 0.5010; 0.7245 ] 
##   MOD2 ~~ MOD4            0.2453      0.0930    2.6379    0.0083 [ 0.0697; 0.4324 ] 
##   MOD3 ~~ MOD4            0.3939      0.0970    4.0605    0.0000 [ 0.1802; 0.5661 ] 
##   ITPSF1 ~~ ITPSF2        0.5557      0.0812    6.8416    0.0000 [ 0.3749; 0.7039 ] 
##   ITPSF1 ~~ ITPSF3        0.3387      0.1001    3.3826    0.0007 [ 0.1345; 0.5077 ] 
##   ITPSF1 ~~ ITPSF4        0.3727      0.1075    3.4684    0.0005 [ 0.1523; 0.5598 ] 
##   ITPSF2 ~~ ITPSF3        0.2691      0.1165    2.3098    0.0209 [ 0.0023; 0.4756 ] 
##   ITPSF2 ~~ ITPSF4        0.4083      0.1079    3.7824    0.0002 [ 0.1798; 0.5984 ] 
##   ITPSF3 ~~ ITPSF4        0.5075      0.0810    6.2679    0.0000 [ 0.3398; 0.6579 ] 
## 
## ------------------------------------ Effects -----------------------------------
## 
## Estimated total effects:
## ========================
##                                                                  CI_percentile   
##   Total effect       Estimate  Std. error   t-stat.   p-value         95%        
##   ITConn ~ ITComp      0.6014      0.0871    6.9022    0.0000 [ 0.4634; 0.7480 ] 
##   Modul ~ ITComp       0.6035      0.0671    8.9965    0.0000 [ 0.4840; 0.7412 ] 
##   Modul ~ ITConn       0.3878      0.1098    3.5321    0.0004 [ 0.2063; 0.5988 ] 
##   ITPers ~ ITComp      0.4197      0.1021    4.1121    0.0000 [ 0.2508; 0.6364 ] 
##   ITPers ~ ITConn      0.4065      0.1061    3.8308    0.0001 [ 0.2277; 0.6144 ] 
##   ITPers ~ Modul       0.4243      0.1121    3.7858    0.0002 [ 0.1931; 0.6104 ] 
## 
## Estimated indirect effects:
## ===========================
##                                                                  CI_percentile   
##   Indirect effect    Estimate  Std. error   t-stat.   p-value         95%        
##   Modul ~ ITComp       0.2332      0.0688    3.3897    0.0007 [ 0.1341; 0.3913 ] 
##   ITPers ~ ITComp      0.4016      0.0769    5.2212    0.0000 [ 0.2659; 0.5679 ] 
##   ITPers ~ ITConn      0.1645      0.0679    2.4227    0.0154 [ 0.0575; 0.3033 ] 
## ________________________________________________________________________________

Assess the overall model fit:

outoverall=testOMF(out)
outoverall
## ________________________________________________________________________________
## --------- Test for overall model fit based on Beran & Srivastava (1985) --------
## 
## Null hypothesis:
## 
##        ┌──────────────────────────────────────────────────────────────────┐
##        │                                                                  │
##        │   H0: The model-implied indicator covariance matrix equals the   │
##        │   population indicator covariance matrix.                        │
##        │                                                                  │
##        └──────────────────────────────────────────────────────────────────┘
## 
## Test statistic and critical value: 
## 
##                                      Critical value
##  Distance measure    Test statistic    95%   
##  dG                      0.2762      0.2954  
##  SRMR                    0.0651      0.0688  
##  dL                      0.5763      0.6443  
##  dML                     1.3221      1.3838  
##  
## 
## Decision: 
## 
##                          Significance level
##  Distance measure             95%        
##  dG                      Do not reject   
##  SRMR                    Do not reject   
##  dL                      Do not reject   
##  dML                     Do not reject   
##  
## Additional information:
## 
##  Out of 499 bootstrap replications 499 are admissible.
##  See ?verify() for what constitutes an inadmissible result.
## 
##  The seed used was: -713308418
## ________________________________________________________________________________