This vignette demonstrates how to estimate a traditional linear PLS-SEM using continuous indicators.

Theory of Planned Behavior (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