This tutorial executes the CCA as described in Benitez et al. (2018) using the open-source R package cSEM. The cSEM package is devoted to composite-based structural equation modeling. It can be obtained via CRAN. However, it is recommended to use the most recent version which is provided via GitHub:
https://github.com/M-E-Rademaker/cSEM
The data and project files can be downloaded here:
Install the recent version of cSEM:
devtools::install_github("M-E-Rademaker/cSEM")
install.packages("readxl")
Load the cSEM package:
library(cSEM)
##
## Attaching package: 'cSEM'
## The following object is masked from 'package:stats':
##
## predict
Import the dataset. For that reason, please select the IT_Flex.slsx 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 = -1235360734
##
## 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.0705 8.5329 0.0000 [ 0.4726; 0.7388 ]
## Modul ~ ITComp 0.3702 0.0993 3.7282 0.0002 [ 0.1761; 0.5609 ]
## Modul ~ ITConn 0.3878 0.0955 4.0613 0.0000 [ 0.2274; 0.5833 ]
## ITPers ~ ITComp 0.0182 0.1357 0.1339 0.8935 [-0.2144; 0.2956 ]
## ITPers ~ ITConn 0.2420 0.1082 2.2370 0.0253 [ 0.0512; 0.4715 ]
## ITPers ~ Modul 0.4243 0.1146 3.7041 0.0002 [ 0.1853; 0.6158 ]
##
## Estimated loadings:
## ===================
## CI_percentile
## Loading Estimate Std. error t-stat. p-value 95%
## ITComp =~ ITCOMP1 0.6048 0.1293 4.6789 0.0000 [ 0.2931; 0.8102 ]
## ITComp =~ ITCOMP2 0.5964 0.1457 4.0932 0.0000 [ 0.2583; 0.8477 ]
## ITComp =~ ITCOMP3 0.9272 0.0684 13.5563 0.0000 [ 0.7272; 0.9846 ]
## ITComp =~ ITCOMP4 0.7164 0.1197 5.9842 0.0000 [ 0.4292; 0.8927 ]
## ITConn =~ ITCONN1 0.4205 0.1376 3.0556 0.0022 [ 0.1357; 0.6680 ]
## ITConn =~ ITCONN2 0.6899 0.1198 5.7593 0.0000 [ 0.3914; 0.8626 ]
## ITConn =~ ITCONN3 0.9100 0.0696 13.0674 0.0000 [ 0.7153; 0.9793 ]
## ITConn =~ ITCONN4 0.7354 0.1046 7.0279 0.0000 [ 0.4755; 0.8836 ]
## Modul =~ MOD1 0.6137 0.1219 5.0337 0.0000 [ 0.3274; 0.7878 ]
## Modul =~ MOD2 0.7714 0.0789 9.7837 0.0000 [ 0.5790; 0.8950 ]
## Modul =~ MOD3 0.7599 0.0800 9.5013 0.0000 [ 0.5877; 0.8944 ]
## Modul =~ MOD4 0.7636 0.0848 9.0074 0.0000 [ 0.5736; 0.8896 ]
## ITPers =~ ITPSF1 0.7956 0.1118 7.1168 0.0000 [ 0.5104; 0.9321 ]
## ITPers =~ ITPSF2 0.6493 0.1465 4.4312 0.0000 [ 0.2811; 0.8341 ]
## ITPers =~ ITPSF3 0.7974 0.1135 7.0272 0.0000 [ 0.4926; 0.9290 ]
## ITPers =~ ITPSF4 0.6628 0.1576 4.2052 0.0000 [ 0.2729; 0.8673 ]
##
## Estimated weights:
## ==================
## CI_percentile
## Weight Estimate Std. error t-stat. p-value 95%
## ITComp <~ ITCOMP1 0.2798 0.1473 1.8998 0.0575 [-0.0014; 0.5647 ]
## ITComp <~ ITCOMP2 -0.1123 0.1896 -0.5924 0.5536 [-0.4821; 0.2476 ]
## ITComp <~ ITCOMP3 0.7449 0.1893 3.9351 0.0001 [ 0.3563; 1.0973 ]
## ITComp <~ ITCOMP4 0.2891 0.1933 1.4954 0.1348 [-0.0839; 0.6537 ]
## ITConn <~ ITCONN1 0.1321 0.1681 0.7860 0.4319 [-0.1964; 0.4357 ]
## ITConn <~ ITCONN2 0.1986 0.1797 1.1052 0.2691 [-0.1474; 0.5567 ]
## ITConn <~ ITCONN3 0.6056 0.1426 4.2480 0.0000 [ 0.3059; 0.8735 ]
## ITConn <~ ITCONN4 0.3486 0.1698 2.0526 0.0401 [-0.0231; 0.6520 ]
## Modul <~ MOD1 0.1739 0.1390 1.2504 0.2112 [-0.1282; 0.4117 ]
## Modul <~ MOD2 0.4265 0.1544 2.7623 0.0057 [ 0.1055; 0.6965 ]
## Modul <~ MOD3 0.2181 0.1551 1.4068 0.1595 [-0.0827; 0.5347 ]
## Modul <~ MOD4 0.5220 0.1249 4.1791 0.0000 [ 0.2509; 0.7443 ]
## ITPers <~ ITPSF1 0.4565 0.2042 2.2355 0.0254 [ 0.0771; 0.8932 ]
## ITPers <~ ITPSF2 0.1953 0.2091 0.9339 0.3503 [-0.2555; 0.5671 ]
## ITPers <~ ITPSF3 0.5127 0.1873 2.7370 0.0062 [ 0.1408; 0.8529 ]
## ITPers <~ ITPSF4 0.1527 0.2521 0.6059 0.5446 [-0.3761; 0.5731 ]
##
## Estimated indicator correlations:
## =================================
## CI_percentile
## Correlation Estimate Std. error t-stat. p-value 95%
## ITCOMP1 ~~ ITCOMP2 0.4564 0.0916 4.9829 0.0000 [ 0.2595; 0.6151 ]
## ITCOMP1 ~~ ITCOMP3 0.3629 0.0987 3.6758 0.0002 [ 0.1777; 0.5440 ]
## ITCOMP1 ~~ ITCOMP4 0.3666 0.0885 4.1438 0.0000 [ 0.1947; 0.5391 ]
## ITCOMP2 ~~ ITCOMP3 0.5917 0.0794 7.4511 0.0000 [ 0.4322; 0.7326 ]
## ITCOMP2 ~~ ITCOMP4 0.4852 0.0816 5.9457 0.0000 [ 0.3166; 0.6327 ]
## ITCOMP3 ~~ ITCOMP4 0.5092 0.0956 5.3243 0.0000 [ 0.2989; 0.6739 ]
## ITCONN1 ~~ ITCONN2 0.4521 0.1007 4.4895 0.0000 [ 0.2405; 0.6275 ]
## ITCONN1 ~~ ITCONN3 0.2813 0.1059 2.6550 0.0079 [ 0.0559; 0.4715 ]
## ITCONN1 ~~ ITCONN4 0.0811 0.1123 0.7224 0.4701 [-0.1488; 0.2889 ]
## ITCONN2 ~~ ITCONN3 0.4841 0.0971 4.9842 0.0000 [ 0.2841; 0.6562 ]
## ITCONN2 ~~ ITCONN4 0.3970 0.0775 5.1257 0.0000 [ 0.2348; 0.5219 ]
## ITCONN3 ~~ ITCONN4 0.4908 0.1027 4.7801 0.0000 [ 0.2681; 0.6514 ]
## MOD1 ~~ MOD2 0.4652 0.0911 5.1054 0.0000 [ 0.2719; 0.6280 ]
## MOD1 ~~ MOD3 0.4036 0.0874 4.6184 0.0000 [ 0.2080; 0.5464 ]
## MOD1 ~~ MOD4 0.2939 0.0955 3.0777 0.0021 [ 0.0941; 0.4760 ]
## MOD2 ~~ MOD3 0.6237 0.0547 11.3963 0.0000 [ 0.5169; 0.7249 ]
## MOD2 ~~ MOD4 0.2453 0.0977 2.5105 0.0121 [ 0.0556; 0.4276 ]
## MOD3 ~~ MOD4 0.3939 0.0977 4.0308 0.0001 [ 0.2116; 0.5746 ]
## ITPSF1 ~~ ITPSF2 0.5557 0.0790 7.0346 0.0000 [ 0.3937; 0.6940 ]
## ITPSF1 ~~ ITPSF3 0.3387 0.0923 3.6711 0.0002 [ 0.1558; 0.5081 ]
## ITPSF1 ~~ ITPSF4 0.3727 0.1033 3.6093 0.0003 [ 0.1440; 0.5468 ]
## ITPSF2 ~~ ITPSF3 0.2691 0.1185 2.2702 0.0232 [ 0.0115; 0.4745 ]
## ITPSF2 ~~ ITPSF4 0.4083 0.1100 3.7117 0.0002 [ 0.1520; 0.5981 ]
## ITPSF3 ~~ ITPSF4 0.5075 0.0818 6.2010 0.0000 [ 0.3425; 0.6615 ]
##
## ------------------------------------ Effects -----------------------------------
##
## Estimated total effects:
## ========================
## CI_percentile
## Total effect Estimate Std. error t-stat. p-value 95%
## ITConn ~ ITComp 0.6014 0.0705 8.5329 0.0000 [ 0.4726; 0.7388 ]
## Modul ~ ITComp 0.6035 0.0637 9.4711 0.0000 [ 0.4943; 0.7482 ]
## Modul ~ ITConn 0.3878 0.0955 4.0613 0.0000 [ 0.2274; 0.5833 ]
## ITPers ~ ITComp 0.4197 0.1067 3.9328 0.0001 [ 0.2290; 0.6627 ]
## ITPers ~ ITConn 0.4065 0.0992 4.0961 0.0000 [ 0.2134; 0.6001 ]
## ITPers ~ Modul 0.4243 0.1146 3.7041 0.0002 [ 0.1853; 0.6158 ]
##
## Estimated indirect effects:
## ===========================
## CI_percentile
## Indirect effect Estimate Std. error t-stat. p-value 95%
## Modul ~ ITComp 0.2332 0.0641 3.6406 0.0003 [ 0.1390; 0.3935 ]
## ITPers ~ ITComp 0.4016 0.0767 5.2390 0.0000 [ 0.2614; 0.5604 ]
## ITPers ~ ITConn 0.1645 0.0661 2.4894 0.0128 [ 0.0594; 0.3036 ]
## ________________________________________________________________________________
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.3046
## SRMR 0.0651 0.0690
## dL 0.5763 0.6479
## dML 1.3221 1.4195
##
##
## 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: -1265921936
## ________________________________________________________________________________
Reference:
Benitez, J., Ray, G., & Henseler, J. (2018). Impact of information technology infrastructure flexibility on mergers and acquisitions. MIS Quarterly, 42(1), 25-43, https://doi.org/10.25300/MISQ/2018/13245.