Higher Order Models

library(plssem)

Higher Order Constructs

It is possible to estimate models with second order construcst with the pls() function, using the two-stage approach. Here we see an example using the TPB_2SO dataset, from the modsem package. The model below contains two second order latent variables, INT (intention) which is a second order latent variable of ATT (attitude) and SN (subjective norm), and PBC (perceived behavioural control) which is a second order latent variable of PC (perceived control) and PB (perceived behaviour).

library(modsem)
#> This is modsem (1.0.19). Please report any bugs!
#> 
#> Attaching package: 'modsem'
#> The following object is masked from 'package:plssem':
#> 
#>     parameter_estimates

tpb_2so <- '
  # First order latent variables
  ATT =~ att1 + att2 + att3
  SN  =~ sn1 + sn2 + sn3
  PB =~ pb1 + pb2 + pb3
  PC =~ pc1 + pc2 + pc3
  BEH =~ b1 + b2

  # Higher order latent variables
  INT =~ ATT + SN
  PBC =~ PC + PB

  # Structural model
  BEH ~ PBC + INT + INT:PBC
'

fit <- pls(tpb_2so, data = TPB_2SO, bootstrap = TRUE, boot.R = 50)
summary(fit)
#> plssem (0.1.1) ended normally after 5 iterations
#> 
#>   Estimator                                       PLSc
#>   Link                                          PROBIT
#>                                                       
#>   Number of observations                          2000
#>   Number of iterations                               5
#>   Number of latent variables                         7
#>   Number of observed variables                      14
#> 
#> Fit Measures:
#>   Chi-Square                                   179.935
#>   Degrees of Freedom                                47
#>   SRMR                                           0.010
#>   RMSEA                                          0.038
#> 
#> R-squared (indicators):
#>   att1                                           0.907
#>   att2                                           0.879
#>   att3                                           0.842
#>   sn1                                            0.818
#>   sn2                                            0.786
#>   sn3                                            0.729
#>   pb1                                            0.894
#>   pb2                                            0.866
#>   pb3                                            0.820
#>   pc1                                            0.938
#>   pc2                                            0.848
#>   pc3                                            0.894
#>   b1                                             0.833
#>   b2                                             0.717
#> 
#> R-squared (latents):
#>   ATT                                            0.735
#>   SN                                             0.605
#>   PC                                             0.665
#>   PB                                             0.423
#>   BEH                                            0.198
#> 
#> Latent Variables:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   ATT =~        
#>     att1            0.952      0.006  155.611    0.000
#>     att2            0.937      0.006  153.344    0.000
#>     att3            0.918      0.008  113.690    0.000
#>   SN =~         
#>     sn1             0.904      0.011   82.288    0.000
#>     sn2             0.886      0.011   79.536    0.000
#>     sn3             0.854      0.013   66.947    0.000
#>   PB =~         
#>     pb1             0.946      0.008  111.923    0.000
#>     pb2             0.931      0.012   75.849    0.000
#>     pb3             0.906      0.012   72.787    0.000
#>   PC =~         
#>     pc1             0.969      0.007  129.156    0.000
#>     pc2             0.921      0.008  110.393    0.000
#>     pc3             0.945      0.008  111.951    0.000
#>   BEH =~        
#>     b1              0.913      0.023   39.365    0.000
#>     b2              0.847      0.023   36.819    0.000
#>   INT =~        
#>     ATT             0.877      0.040   22.186    0.000
#>     SN              0.814      0.038   21.543    0.000
#>   PBC =~        
#>     PC              0.831      0.063   13.264    0.000
#>     PB              0.668      0.053   12.647    0.000
#> 
#> Regressions:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   BEH ~         
#>     INT             0.251      0.022   11.179    0.000
#>     PBC             0.289      0.029    9.842    0.000
#>     INT:PBC         0.250      0.030    8.449    0.000
#> 
#> Covariances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   INT ~~        
#>     PBC             0.035      0.028    1.242    0.214
#>     INT:PBC        -0.006      0.035   -0.169    0.865
#>   PBC ~~        
#>     INT:PBC        -0.108      0.049   -2.221    0.026
#> 
#> Variances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>    .att1            0.093      0.012    7.962    0.000
#>    .att2            0.121      0.011   10.581    0.000
#>    .att3            0.158      0.015   10.645    0.000
#>    .sn1             0.182      0.020    9.152    0.000
#>    .sn2             0.214      0.020   10.835    0.000
#>    .sn3             0.271      0.022   12.529    0.000
#>    .pb1             0.106      0.016    6.599    0.000
#>    .pb2             0.134      0.023    5.859    0.000
#>    .pb3             0.180      0.023    7.973    0.000
#>    .pc1             0.062      0.015    4.269    0.000
#>    .pc2             0.152      0.015    9.869    0.000
#>    .pc3             0.106      0.016    6.660    0.000
#>    .b1              0.167      0.043    3.918    0.000
#>    .b2              0.283      0.039    7.273    0.000
#>     INT             1.000                             
#>     PBC             1.000                             
#>    .BEH             0.802      0.024   33.579    0.000
#>     INT:PBC         1.006      0.078   12.936    0.000
#>    .ATT             0.265      0.066    4.020    0.000
#>    .SN              0.395      0.058    6.859    0.000
#>    .PC              0.335      0.103    3.248    0.001
#>    .PB              0.577      0.067    8.603    0.000

mirror server hosted at Truenetwork, Russian Federation.