The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

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.20). 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.2) ended normally after 5 iterations
#>   Estimator                                       PLSc
#>   Link                                          LINEAR
#>                                                       
#>   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                                70
#>   SRMR                                           0.010
#>   RMSEA                                          0.028
#> 
#> 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
#> 
#> 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.008  124.706    0.000
#>     att2            0.937      0.007  125.141    0.000
#>     att3            0.918      0.009  100.061    0.000
#>   SN =~         
#>     sn1             0.904      0.009  100.818    0.000
#>     sn2             0.886      0.011   83.952    0.000
#>     sn3             0.854      0.009   91.111    0.000
#>   PB =~         
#>     pb1             0.946      0.010   91.965    0.000
#>     pb2             0.931      0.013   74.335    0.000
#>     pb3             0.906      0.013   72.012    0.000
#>   PC =~         
#>     pc1             0.969      0.009  106.231    0.000
#>     pc2             0.921      0.009   98.812    0.000
#>     pc3             0.945      0.011   84.821    0.000
#>   INT =~        
#>     ATT             0.877      0.040   21.956    0.000
#>     SN              0.814      0.040   20.151    0.000
#>   PBC =~        
#>     PC              0.831      0.052   15.854    0.000
#>     PB              0.668      0.044   15.300    0.000
#> 
#> Composites:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   BEH <~        
#>     b1              0.913      0.021   43.330    0.000
#>     b2              0.847      0.023   37.592    0.000
#> 
#> Regressions:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   BEH ~         
#>     INT             0.251      0.020   12.578    0.000
#>     PBC             0.289      0.026   11.147    0.000
#>     INT:PBC         0.250      0.028    9.091    0.000
#> 
#> Covariances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   INT ~~        
#>     PBC             0.035      0.026    1.327    0.185
#>     INT:PBC        -0.006      0.048   -0.123    0.902
#>   PBC ~~        
#>     INT:PBC        -0.108      0.058   -1.863    0.062
#> 
#> Variances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>     INT             1.000                             
#>     PBC             1.000                             
#>    .BEH             0.802      0.023   35.569    0.000
#>     INT:PBC         1.006      0.072   14.037    0.000
#>    .att1            0.093      0.015    6.376    0.000
#>    .att2            0.121      0.014    8.652    0.000
#>    .att3            0.158      0.017    9.381    0.000
#>    .sn1             0.182      0.016   11.221    0.000
#>    .sn2             0.214      0.019   11.433    0.000
#>    .sn3             0.271      0.016   16.947    0.000
#>    .pb1             0.106      0.020    5.390    0.000
#>    .pb2             0.134      0.023    5.743    0.000
#>    .pb3             0.180      0.023    7.887    0.000
#>    .pc1             0.062      0.018    3.495    0.000
#>    .pc2             0.152      0.017    8.880    0.000
#>    .pc3             0.106      0.021    5.044    0.000
#>     b1              0.167      0.038    4.338    0.000
#>     b2              0.283      0.038    7.408    0.000
#>    .ATT             0.265      0.062    4.240    0.000
#>    .SN              0.395      0.049    8.121    0.000
#>    .PC              0.335      0.085    3.949    0.000
#>    .PB              0.577      0.054   10.732    0.000

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.