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.3) 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.011 80.392 0.000
#> att2 0.908 0.014 64.280 0.000
#> att3 0.897 0.014 63.681 0.000
#> att4 0.863 0.019 45.341 0.000
#> att5 0.919 0.017 55.362 0.000
#> SN =~
#> sn1 0.904 0.014 66.395 0.000
#> sn2 0.929 0.012 74.892 0.000
#> PBC =~
#> pbc1 0.925 0.011 82.849 0.000
#> pbc2 0.927 0.011 80.747 0.000
#> pbc3 0.887 0.013 70.931 0.000
#> INT =~
#> int1 0.903 0.013 71.062 0.000
#> int2 0.909 0.012 73.218 0.000
#> int3 0.861 0.014 63.455 0.000
#> BEH =~
#> b1 0.873 0.020 42.809 0.000
#> b2 0.906 0.017 54.175 0.000
#>
#> Regressions:
#> Estimate Std.Error z.value P(>|z|)
#> INT ~
#> ATT 0.243 0.032 7.627 0.000
#> SN 0.201 0.031 6.480 0.000
#> PBC 0.240 0.036 6.669 0.000
#> BEH ~
#> PBC 0.308 0.025 12.476 0.000
#> INT 0.210 0.025 8.559 0.000
#>
#> Covariances:
#> Estimate Std.Error z.value P(>|z|)
#> ATT ~~
#> SN 0.633 0.014 45.259 0.000
#> PBC 0.692 0.014 51.251 0.000
#> SN ~~
#> PBC 0.696 0.015 47.530 0.000
#>
#> Variances:
#> Estimate Std.Error z.value P(>|z|)
#> ATT 1.000
#> SN 1.000
#> PBC 1.000
#> .INT 0.633 0.019 33.031 0.000
#> .BEH 0.790 0.017 46.500 0.000
#> .att1 0.153 0.021 7.232 0.000
#> .att2 0.175 0.026 6.817 0.000
#> .att3 0.195 0.025 7.690 0.000
#> .att4 0.255 0.033 7.769 0.000
#> .att5 0.155 0.030 5.092 0.000
#> .sn1 0.183 0.025 7.455 0.000
#> .sn2 0.137 0.023 5.904 0.000
#> .pbc1 0.144 0.021 6.973 0.000
#> .pbc2 0.141 0.021 6.648 0.000
#> .pbc3 0.213 0.022 9.586 0.000
#> .int1 0.184 0.023 8.025 0.000
#> .int2 0.173 0.023 7.669 0.000
#> .int3 0.258 0.023 11.046 0.000
#> .b1 0.238 0.036 6.677 0.000
#> .b2 0.179 0.030 5.897 0.000