The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.

Categorical Models with plssem

Ordered indicators are common in survey-based SEM applications. This vignette reuses the Theory of Planned Behavior example but illustrates how to run the model when the manifest variables are ordinal.

Theory of Planned Behavior (Ordered 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_cat <- pls(
  tpb,
  data      = TPB_Ordered,
  bootstrap = TRUE,
  boot.R    = 50,
  ordered   = colnames(TPB_Ordered) # explicitly specify ordered variables
)
summary(fit_cat)
#> plssem (0.1.1) ended normally after 4 iterations
#> 
#>   Estimator                                    OrdPLSc
#>   Link                                          PROBIT
#>                                                       
#>   Number of observations                          2000
#>   Number of iterations                               4
#>   Number of latent variables                         5
#>   Number of observed variables                      15
#> 
#> Fit Measures:
#>   Chi-Square                                   263.165
#>   Degrees of Freedom                                82
#>   SRMR                                           0.011
#>   RMSEA                                          0.033
#> 
#> R-squared (indicators):
#>   att1                                           0.862
#>   att2                                           0.777
#>   att3                                           0.825
#>   att4                                           0.743
#>   att5                                           0.867
#>   sn1                                            0.805
#>   sn2                                            0.886
#>   pbc1                                           0.863
#>   pbc2                                           0.865
#>   pbc3                                           0.781
#>   int1                                           0.815
#>   int2                                           0.821
#>   int3                                           0.754
#>   b1                                             0.781
#>   b2                                             0.773
#> 
#> R-squared (latents):
#>   INT                                            0.368
#>   BEH                                            0.198
#> 
#> Latent Variables:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   ATT =~        
#>     att1            0.928      0.017   53.577    0.000
#>     att2            0.882      0.016   53.969    0.000
#>     att3            0.908      0.023   40.289    0.000
#>     att4            0.862      0.019   44.452    0.000
#>     att5            0.931      0.020   47.545    0.000
#>   SN =~         
#>     sn1             0.897      0.015   58.218    0.000
#>     sn2             0.941      0.016   58.000    0.000
#>   PBC =~        
#>     pbc1            0.929      0.013   71.763    0.000
#>     pbc2            0.930      0.011   84.096    0.000
#>     pbc3            0.884      0.015   60.443    0.000
#>   INT =~        
#>     int1            0.903      0.013   71.030    0.000
#>     int2            0.906      0.015   60.151    0.000
#>     int3            0.868      0.015   56.763    0.000
#>   BEH =~        
#>     b1              0.884      0.019   46.269    0.000
#>     b2              0.879      0.017   51.232    0.000
#> 
#> Regressions:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   INT ~         
#>     ATT             0.239      0.030    8.081    0.000
#>     SN              0.209      0.030    7.009    0.000
#>     PBC             0.239      0.033    7.161    0.000
#>   BEH ~         
#>     PBC             0.286      0.025   11.409    0.000
#>     INT             0.219      0.027    7.972    0.000
#> 
#> Covariances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>   ATT ~~        
#>     SN              0.623      0.015   41.347    0.000
#>     PBC             0.690      0.011   61.762    0.000
#>   SN ~~         
#>     PBC             0.690      0.014   48.583    0.000
#> 
#> Variances:
#>                  Estimate  Std.Error  z.value  P(>|z|)
#>     ATT             1.000                             
#>     SN              1.000                             
#>     PBC             1.000                             
#>    .INT             0.632      0.020   31.933    0.000
#>    .BEH             0.802      0.017   47.313    0.000
#>    .att1            0.138      0.032    4.308    0.000
#>    .att2            0.223      0.029    7.777    0.000
#>    .att3            0.175      0.041    4.277    0.000
#>    .att4            0.257      0.034    7.651    0.000
#>    .att5            0.133      0.036    3.650    0.000
#>    .sn1             0.195      0.028    7.053    0.000
#>    .sn2             0.114      0.031    3.737    0.000
#>    .pbc1            0.137      0.024    5.720    0.000
#>    .pbc2            0.135      0.021    6.560    0.000
#>    .pbc3            0.219      0.026    8.484    0.000
#>    .int1            0.185      0.023    8.062    0.000
#>    .int2            0.179      0.027    6.607    0.000
#>    .int3            0.246      0.027    9.186    0.000
#>    .b1              0.219      0.034    6.486    0.000
#>    .b2              0.227      0.030    7.477    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.