This vignette demonstrates how to estimate a traditional linear PLS-SEM using continuous indicators.
tpb <- '
# Outer Model (Based on Hagger et al., 2007)
ATT =~ att1 + att2 + att3 + att4 + att5
SN =~ sn1 + sn2
PBC =~ pbc1 + pbc2 + pbc3
INT =~ int1 + int2 + int3
BEH =~ b1 + b2
# Inner Model (Based on Steinmetz et al., 2011)
INT ~ ATT + SN + PBC
BEH ~ INT + PBC
'
fit_tpb <- pls(
tpb,
data = modsem::TPB,
bootstrap = TRUE,
boot.R = 50
)
summary(fit_tpb)
#> plssem (0.1.2) ended normally after 3 iterations
#>
#> Estimator PLSc
#> Link LINEAR
#>
#> Number of observations 2000
#> Number of iterations 3
#> Number of latent variables 5
#> Number of observed variables 15
#>
#> Fit Measures:
#> Chi-Square 106.316
#> Degrees of Freedom 82
#> SRMR 0.008
#> RMSEA 0.012
#>
#> R-squared (indicators):
#> att1 0.847
#> att2 0.825
#> att3 0.805
#> att4 0.745
#> att5 0.845
#> sn1 0.817
#> sn2 0.863
#> pbc1 0.856
#> pbc2 0.859
#> pbc3 0.787
#> int1 0.816
#> int2 0.827
#> int3 0.742
#> b1 0.762
#> b2 0.821
#>
#> R-squared (latents):
#> INT 0.367
#> BEH 0.210
#>
#> Latent Variables:
#> Estimate Std.Error z.value P(>|z|)
#> ATT =~
#> att1 0.921 0.013 70.625 0.000
#> att2 0.908 0.018 51.136 0.000
#> att3 0.897 0.016 55.119 0.000
#> att4 0.863 0.019 44.960 0.000
#> att5 0.919 0.016 56.004 0.000
#> SN =~
#> sn1 0.904 0.011 81.139 0.000
#> sn2 0.929 0.009 105.331 0.000
#> PBC =~
#> pbc1 0.925 0.011 83.170 0.000
#> pbc2 0.927 0.013 71.857 0.000
#> pbc3 0.887 0.013 70.643 0.000
#> INT =~
#> int1 0.903 0.012 76.773 0.000
#> int2 0.909 0.010 92.075 0.000
#> int3 0.861 0.014 61.941 0.000
#> BEH =~
#> b1 0.873 0.016 54.438 0.000
#> b2 0.906 0.016 58.341 0.000
#>
#> Regressions:
#> Estimate Std.Error z.value P(>|z|)
#> INT ~
#> ATT 0.243 0.026 9.447 0.000
#> SN 0.201 0.024 8.293 0.000
#> PBC 0.240 0.032 7.584 0.000
#> BEH ~
#> PBC 0.308 0.024 12.578 0.000
#> INT 0.210 0.032 6.542 0.000
#>
#> Covariances:
#> Estimate Std.Error z.value P(>|z|)
#> ATT ~~
#> SN 0.633 0.015 42.368 0.000
#> PBC 0.692 0.011 65.083 0.000
#> SN ~~
#> PBC 0.696 0.013 53.689 0.000
#>
#> Variances:
#> Estimate Std.Error z.value P(>|z|)
#> ATT 1.000
#> SN 1.000
#> PBC 1.000
#> .INT 0.633 0.020 31.185 0.000
#> .BEH 0.790 0.018 44.784 0.000
#> .att1 0.153 0.024 6.362 0.000
#> .att2 0.175 0.032 5.400 0.000
#> .att3 0.195 0.029 6.687 0.000
#> .att4 0.255 0.033 7.682 0.000
#> .att5 0.155 0.030 5.180 0.000
#> .sn1 0.183 0.020 9.045 0.000
#> .sn2 0.137 0.016 8.352 0.000
#> .pbc1 0.144 0.021 7.007 0.000
#> .pbc2 0.141 0.024 5.888 0.000
#> .pbc3 0.213 0.022 9.554 0.000
#> .int1 0.184 0.021 8.642 0.000
#> .int2 0.173 0.018 9.633 0.000
#> .int3 0.258 0.024 10.821 0.000
#> .b1 0.238 0.028 8.504 0.000
#> .b2 0.179 0.028 6.329 0.000