library("psych")
library("lavaan")
## Warning: package 'lavaan' was built under R version 3.6.3
## This is lavaan 0.6-7
## lavaan is BETA software! Please report any bugs.
## 
## Attaching package: 'lavaan'
## The following object is masked from 'package:psych':
## 
##     cor2cov
library("semTools")
## Warning: package 'semTools' was built under R version 3.6.3
## 
## ###############################################################################
## This is semTools 0.5-3
## All users of R (or SEM) are invited to submit functions or ideas for functions.
## ###############################################################################
## 
## Attaching package: 'semTools'
## The following object is masked from 'package:psych':
## 
##     skew
library("lavaanPlot")
## Warning: package 'lavaanPlot' was built under R version 3.6.3
HW <- read.csv("C:/Users/Courtney/Desktop/HW.dat")
HW_model <- "jobauto =~ ja1 + ja2 + ja3 +ja4 + ja5 + ja6 + ja7 + ja8
              jobstress =~ stress1 + stress2 + stress3 + stress4
              jobsat =~ js1 + js2 + js3
              org_commit =~ oc1 + oc2 + oc3 + oc4 + oc5 + oc6 + oc7 +oc8
              turnover =~ ti1 + ti2 + ti3"
lavaanify(model=HW_model)
##    id        lhs op        rhs user block group free ustart exo label
## 1   1    jobauto =~        ja1    1     1     1    1     NA   0      
## 2   2    jobauto =~        ja2    1     1     1    2     NA   0      
## 3   3    jobauto =~        ja3    1     1     1    3     NA   0      
## 4   4    jobauto =~        ja4    1     1     1    4     NA   0      
## 5   5    jobauto =~        ja5    1     1     1    5     NA   0      
## 6   6    jobauto =~        ja6    1     1     1    6     NA   0      
## 7   7    jobauto =~        ja7    1     1     1    7     NA   0      
## 8   8    jobauto =~        ja8    1     1     1    8     NA   0      
## 9   9  jobstress =~    stress1    1     1     1    9     NA   0      
## 10 10  jobstress =~    stress2    1     1     1   10     NA   0      
## 11 11  jobstress =~    stress3    1     1     1   11     NA   0      
## 12 12  jobstress =~    stress4    1     1     1   12     NA   0      
## 13 13     jobsat =~        js1    1     1     1   13     NA   0      
## 14 14     jobsat =~        js2    1     1     1   14     NA   0      
## 15 15     jobsat =~        js3    1     1     1   15     NA   0      
## 16 16 org_commit =~        oc1    1     1     1   16     NA   0      
## 17 17 org_commit =~        oc2    1     1     1   17     NA   0      
## 18 18 org_commit =~        oc3    1     1     1   18     NA   0      
## 19 19 org_commit =~        oc4    1     1     1   19     NA   0      
## 20 20 org_commit =~        oc5    1     1     1   20     NA   0      
## 21 21 org_commit =~        oc6    1     1     1   21     NA   0      
## 22 22 org_commit =~        oc7    1     1     1   22     NA   0      
## 23 23 org_commit =~        oc8    1     1     1   23     NA   0      
## 24 24   turnover =~        ti1    1     1     1   24     NA   0      
## 25 25   turnover =~        ti2    1     1     1   25     NA   0      
## 26 26   turnover =~        ti3    1     1     1   26     NA   0      
## 27 27        ja1 ~~        ja1    0     1     1    0      0   0      
## 28 28        ja2 ~~        ja2    0     1     1    0      0   0      
## 29 29        ja3 ~~        ja3    0     1     1    0      0   0      
## 30 30        ja4 ~~        ja4    0     1     1    0      0   0      
## 31 31        ja5 ~~        ja5    0     1     1    0      0   0      
## 32 32        ja6 ~~        ja6    0     1     1    0      0   0      
## 33 33        ja7 ~~        ja7    0     1     1    0      0   0      
## 34 34        ja8 ~~        ja8    0     1     1    0      0   0      
## 35 35    stress1 ~~    stress1    0     1     1    0      0   0      
## 36 36    stress2 ~~    stress2    0     1     1    0      0   0      
## 37 37    stress3 ~~    stress3    0     1     1    0      0   0      
## 38 38    stress4 ~~    stress4    0     1     1    0      0   0      
## 39 39        js1 ~~        js1    0     1     1    0      0   0      
## 40 40        js2 ~~        js2    0     1     1    0      0   0      
## 41 41        js3 ~~        js3    0     1     1    0      0   0      
## 42 42        oc1 ~~        oc1    0     1     1    0      0   0      
## 43 43        oc2 ~~        oc2    0     1     1    0      0   0      
## 44 44        oc3 ~~        oc3    0     1     1    0      0   0      
## 45 45        oc4 ~~        oc4    0     1     1    0      0   0      
## 46 46        oc5 ~~        oc5    0     1     1    0      0   0      
## 47 47        oc6 ~~        oc6    0     1     1    0      0   0      
## 48 48        oc7 ~~        oc7    0     1     1    0      0   0      
## 49 49        oc8 ~~        oc8    0     1     1    0      0   0      
## 50 50        ti1 ~~        ti1    0     1     1    0      0   0      
## 51 51        ti2 ~~        ti2    0     1     1    0      0   0      
## 52 52        ti3 ~~        ti3    0     1     1    0      0   0      
## 53 53    jobauto ~~    jobauto    0     1     1    0      0   0      
## 54 54  jobstress ~~  jobstress    0     1     1    0      0   0      
## 55 55     jobsat ~~     jobsat    0     1     1    0      0   0      
## 56 56 org_commit ~~ org_commit    0     1     1    0      0   0      
## 57 57   turnover ~~   turnover    0     1     1    0      0   0      
##    plabel
## 1    .p1.
## 2    .p2.
## 3    .p3.
## 4    .p4.
## 5    .p5.
## 6    .p6.
## 7    .p7.
## 8    .p8.
## 9    .p9.
## 10  .p10.
## 11  .p11.
## 12  .p12.
## 13  .p13.
## 14  .p14.
## 15  .p15.
## 16  .p16.
## 17  .p17.
## 18  .p18.
## 19  .p19.
## 20  .p20.
## 21  .p21.
## 22  .p22.
## 23  .p23.
## 24  .p24.
## 25  .p25.
## 26  .p26.
## 27  .p27.
## 28  .p28.
## 29  .p29.
## 30  .p30.
## 31  .p31.
## 32  .p32.
## 33  .p33.
## 34  .p34.
## 35  .p35.
## 36  .p36.
## 37  .p37.
## 38  .p38.
## 39  .p39.
## 40  .p40.
## 41  .p41.
## 42  .p42.
## 43  .p43.
## 44  .p44.
## 45  .p45.
## 46  .p46.
## 47  .p47.
## 48  .p48.
## 49  .p49.
## 50  .p50.
## 51  .p51.
## 52  .p52.
## 53  .p53.
## 54  .p54.
## 55  .p55.
## 56  .p56.
## 57  .p57.
HW.out <-cfa(HW_model, data=HW)
lavaanPlot(model = HW.out)
summary(HW.out, fit.measures=TRUE, standardized = TRUE)
## lavaan 0.6-7 ended normally after 72 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         62
##                                                       
##   Number of observations                           400
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               289.909
##   Degrees of freedom                               289
##   P-value (Chi-square)                           0.474
## 
## Model Test Baseline Model:
## 
##   Test statistic                              7360.262
##   Degrees of freedom                               325
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.000
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -16382.830
##   Loglikelihood unrestricted model (H1)     -16237.875
##                                                       
##   Akaike (AIC)                               32889.660
##   Bayesian (BIC)                             33137.131
##   Sample-size adjusted Bayesian (BIC)        32940.401
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.003
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.020
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.035
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto =~                                                            
##     ja1               1.000                               1.044    0.726
##     ja2               0.960    0.074   12.954    0.000    1.002    0.703
##     ja3               0.993    0.073   13.554    0.000    1.037    0.738
##     ja4               0.640    0.063   10.158    0.000    0.668    0.549
##     ja5               0.729    0.065   11.211    0.000    0.761    0.606
##     ja6               0.920    0.074   12.423    0.000    0.960    0.673
##     ja7               0.513    0.059    8.635    0.000    0.536    0.466
##     ja8               0.699    0.064   10.902    0.000    0.729    0.589
##   jobstress =~                                                          
##     stress1           1.000                               1.057    0.722
##     stress2           0.685    0.069    9.937    0.000    0.723    0.578
##     stress3           0.887    0.075   11.890    0.000    0.937    0.722
##     stress4           0.811    0.073   11.185    0.000    0.857    0.664
##   jobsat =~                                                             
##     js1               1.000                               1.526    0.838
##     js2               0.890    0.047   18.773    0.000    1.358    0.810
##     js3               0.795    0.044   17.923    0.000    1.213    0.784
##   org_commit =~                                                         
##     oc1               1.000                               2.277    0.914
##     oc2               0.739    0.028   26.162    0.000    1.681    0.856
##     oc3               0.602    0.026   23.406    0.000    1.372    0.815
##     oc4               0.938    0.032   29.268    0.000    2.135    0.895
##     oc5               0.787    0.029   27.602    0.000    1.792    0.875
##     oc6               0.903    0.030   30.280    0.000    2.056    0.905
##     oc7               0.523    0.025   21.059    0.000    1.191    0.774
##     oc8               0.689    0.026   26.362    0.000    1.568    0.859
##   turnover =~                                                           
##     ti1               1.000                               2.440    0.913
##     ti2               0.866    0.030   29.098    0.000    2.114    0.907
##     ti3               0.679    0.027   25.195    0.000    1.656    0.854
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto ~~                                                            
##     jobstress        -0.050    0.068   -0.733    0.464   -0.045   -0.045
##     jobsat            0.746    0.108    6.879    0.000    0.468    0.468
##     org_commit        0.930    0.147    6.328    0.000    0.392    0.392
##     turnover          0.989    0.160    6.198    0.000    0.388    0.388
##   jobstress ~~                                                          
##     jobsat           -0.681    0.111   -6.114    0.000   -0.423   -0.423
##     org_commit       -1.395    0.172   -8.102    0.000   -0.580   -0.580
##     turnover         -1.320    0.180   -7.352    0.000   -0.512   -0.512
##   jobsat ~~                                                             
##     org_commit        2.974    0.263   11.307    0.000    0.856    0.856
##     turnover          3.251    0.286   11.362    0.000    0.873    0.873
##   org_commit ~~                                                         
##     turnover          5.001    0.410   12.205    0.000    0.900    0.900
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ja1               0.978    0.084   11.572    0.000    0.978    0.473
##    .ja2               1.025    0.086   11.887    0.000    1.025    0.505
##    .ja3               0.900    0.079   11.384    0.000    0.900    0.456
##    .ja4               1.038    0.079   13.157    0.000    1.038    0.699
##    .ja5               0.998    0.078   12.810    0.000    0.998    0.633
##    .ja6               1.111    0.091   12.234    0.000    1.111    0.547
##    .ja7               1.036    0.077   13.509    0.000    1.036    0.783
##    .ja8               1.000    0.077   12.923    0.000    1.000    0.653
##    .stress1           1.024    0.101   10.157    0.000    1.024    0.478
##    .stress2           1.043    0.085   12.343    0.000    1.043    0.666
##    .stress3           0.807    0.079   10.166    0.000    0.807    0.479
##    .stress4           0.934    0.083   11.288    0.000    0.934    0.560
##    .js1               0.990    0.096   10.356    0.000    0.990    0.298
##    .js2               0.968    0.087   11.115    0.000    0.968    0.344
##    .js3               0.924    0.079   11.638    0.000    0.924    0.386
##    .oc1               1.018    0.087   11.730    0.000    1.018    0.164
##    .oc2               1.028    0.080   12.845    0.000    1.028    0.267
##    .oc3               0.950    0.072   13.210    0.000    0.950    0.335
##    .oc4               1.137    0.093   12.248    0.000    1.137    0.200
##    .oc5               0.983    0.078   12.599    0.000    0.983    0.234
##    .oc6               0.929    0.077   11.988    0.000    0.929    0.180
##    .oc7               0.951    0.071   13.442    0.000    0.951    0.402
##    .oc8               0.873    0.068   12.814    0.000    0.873    0.262
##    .ti1               1.189    0.123    9.701    0.000    1.189    0.166
##    .ti2               0.961    0.096   10.024    0.000    0.961    0.177
##    .ti3               1.014    0.086   11.798    0.000    1.014    0.270
##     jobauto           1.089    0.138    7.916    0.000    1.000    1.000
##     jobstress         1.117    0.150    7.431    0.000    1.000    1.000
##     jobsat            2.328    0.233    9.982    0.000    1.000    1.000
##     org_commit        5.184    0.435   11.909    0.000    1.000    1.000
##     turnover          5.954    0.506   11.768    0.000    1.000    1.000
#multigroup by gender

HW.sex.out <-cfa(HW_model, data=HW, group = "sex")
lavaanPlot(model = HW.sex.out)
summary(HW.sex.out, fit.measures=TRUE, standardized = TRUE)
## lavaan 0.6-7 ended normally after 132 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                        176
##                                                       
##   Number of observations per group:                   
##     male                                           200
##     female                                         200
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               542.996
##   Degrees of freedom                               578
##   P-value (Chi-square)                           0.849
##   Test statistic for each group:
##     male                                       272.970
##     female                                     270.026
## 
## Model Test Baseline Model:
## 
##   Test statistic                              7700.637
##   Degrees of freedom                               650
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.006
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -16281.780
##   Loglikelihood unrestricted model (H1)     -16010.282
##                                                       
##   Akaike (AIC)                               32915.560
##   Bayesian (BIC)                             33618.058
##   Sample-size adjusted Bayesian (BIC)        33059.598
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.014
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.039
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [male]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto =~                                                            
##     ja1               1.000                               1.190    0.771
##     ja2               0.683    0.078    8.779    0.000    0.813    0.634
##     ja3               0.704    0.074    9.568    0.000    0.837    0.686
##     ja4               0.754    0.080    9.443    0.000    0.897    0.678
##     ja5               0.518    0.070    7.390    0.000    0.616    0.540
##     ja6               0.659    0.082    8.017    0.000    0.784    0.583
##     ja7               0.730    0.078    9.344    0.000    0.868    0.671
##     ja8               0.828    0.086    9.658    0.000    0.985    0.692
##   jobstress =~                                                          
##     stress1           1.000                               1.010    0.682
##     stress2           0.641    0.100    6.398    0.000    0.647    0.542
##     stress3           0.953    0.117    8.130    0.000    0.962    0.755
##     stress4           0.787    0.108    7.252    0.000    0.794    0.630
##   jobsat =~                                                             
##     js1               1.000                               1.673    0.869
##     js2               0.902    0.059   15.394    0.000    1.509    0.842
##     js3               0.808    0.056   14.514    0.000    1.352    0.813
##   org_commit =~                                                         
##     oc1               1.000                               2.299    0.927
##     oc2               0.776    0.040   19.595    0.000    1.784    0.865
##     oc3               0.603    0.036   16.764    0.000    1.386    0.811
##     oc4               0.950    0.043   22.133    0.000    2.183    0.903
##     oc5               0.809    0.040   20.319    0.000    1.858    0.877
##     oc6               0.922    0.041   22.326    0.000    2.118    0.905
##     oc7               0.561    0.034   16.426    0.000    1.290    0.803
##     oc8               0.701    0.036   19.366    0.000    1.611    0.861
##   turnover =~                                                           
##     ti1               1.000                               2.557    0.929
##     ti2               0.860    0.039   22.296    0.000    2.198    0.913
##     ti3               0.676    0.036   18.935    0.000    1.728    0.860
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto ~~                                                            
##     jobstress        -0.084    0.105   -0.801    0.423   -0.070   -0.070
##     jobsat            1.148    0.195    5.874    0.000    0.577    0.577
##     org_commit        1.353    0.247    5.481    0.000    0.495    0.495
##     turnover          1.419    0.273    5.192    0.000    0.466    0.466
##   jobstress ~~                                                          
##     jobsat           -0.671    0.163   -4.105    0.000   -0.397   -0.397
##     org_commit       -1.333    0.240   -5.546    0.000   -0.574   -0.574
##     turnover         -1.168    0.250   -4.662    0.000   -0.452   -0.452
##   jobsat ~~                                                             
##     org_commit        3.317    0.401    8.261    0.000    0.862    0.862
##     turnover          3.873    0.458    8.454    0.000    0.905    0.905
##   org_commit ~~                                                         
##     turnover          5.247    0.601    8.731    0.000    0.893    0.893
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ja1               0.007    0.109    0.061    0.952    0.007    0.004
##    .ja2              -0.082    0.091   -0.909    0.363   -0.082   -0.064
##    .ja3               0.006    0.086    0.067    0.946    0.006    0.005
##    .ja4               0.067    0.094    0.720    0.472    0.067    0.051
##    .ja5               0.019    0.081    0.236    0.814    0.019    0.017
##    .ja6              -0.119    0.095   -1.248    0.212   -0.119   -0.088
##    .ja7               0.010    0.092    0.111    0.911    0.010    0.008
##    .ja8               0.014    0.101    0.140    0.889    0.014    0.010
##    .stress1          -0.175    0.105   -1.671    0.095   -0.175   -0.118
##    .stress2           0.032    0.084    0.374    0.708    0.032    0.026
##    .stress3          -0.176    0.090   -1.955    0.051   -0.176   -0.138
##    .stress4          -0.084    0.089   -0.941    0.347   -0.084   -0.067
##    .js1              -0.006    0.136   -0.047    0.963   -0.006   -0.003
##    .js2              -0.036    0.127   -0.288    0.773   -0.036   -0.020
##    .js3               0.094    0.118    0.798    0.425    0.094    0.056
##    .oc1               0.132    0.175    0.751    0.452    0.132    0.053
##    .oc2               0.120    0.146    0.820    0.412    0.120    0.058
##    .oc3               0.149    0.121    1.231    0.218    0.149    0.087
##    .oc4               0.223    0.171    1.302    0.193    0.223    0.092
##    .oc5               0.220    0.150    1.469    0.142    0.220    0.104
##    .oc6               0.116    0.165    0.699    0.485    0.116    0.049
##    .oc7               0.023    0.114    0.206    0.836    0.023    0.015
##    .oc8               0.078    0.132    0.589    0.556    0.078    0.042
##    .ti1               0.038    0.195    0.198    0.843    0.038    0.014
##    .ti2               0.079    0.170    0.464    0.643    0.079    0.033
##    .ti3               0.152    0.142    1.070    0.285    0.152    0.076
##     jobauto           0.000                               0.000    0.000
##     jobstress         0.000                               0.000    0.000
##     jobsat            0.000                               0.000    0.000
##     org_commit        0.000                               0.000    0.000
##     turnover          0.000                               0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ja1               0.963    0.122    7.887    0.000    0.963    0.405
##    .ja2               0.985    0.109    9.040    0.000    0.985    0.598
##    .ja3               0.789    0.090    8.727    0.000    0.789    0.530
##    .ja4               0.947    0.108    8.783    0.000    0.947    0.541
##    .ja5               0.921    0.098    9.413    0.000    0.921    0.708
##    .ja6               1.196    0.129    9.266    0.000    1.196    0.660
##    .ja7               0.920    0.104    8.826    0.000    0.920    0.550
##    .ja8               1.057    0.122    8.684    0.000    1.057    0.522
##    .stress1           1.171    0.153    7.639    0.000    1.171    0.535
##    .stress2           1.008    0.113    8.902    0.000    1.008    0.707
##    .stress3           0.697    0.109    6.416    0.000    0.697    0.429
##    .stress4           0.958    0.116    8.235    0.000    0.958    0.603
##    .js1               0.906    0.124    7.296    0.000    0.906    0.245
##    .js2               0.938    0.119    7.912    0.000    0.938    0.292
##    .js3               0.937    0.112    8.340    0.000    0.937    0.339
##    .oc1               0.862    0.107    8.084    0.000    0.862    0.140
##    .oc2               1.073    0.118    9.077    0.000    1.073    0.252
##    .oc3               1.004    0.107    9.406    0.000    1.004    0.343
##    .oc4               1.084    0.126    8.628    0.000    1.084    0.185
##    .oc5               1.041    0.116    8.967    0.000    1.041    0.232
##    .oc6               0.990    0.115    8.585    0.000    0.990    0.181
##    .oc7               0.917    0.097    9.437    0.000    0.917    0.355
##    .oc8               0.906    0.099    9.109    0.000    0.906    0.259
##    .ti1               1.036    0.159    6.515    0.000    1.036    0.137
##    .ti2               0.960    0.133    7.222    0.000    0.960    0.166
##    .ti3               1.049    0.124    8.468    0.000    1.049    0.260
##     jobauto           1.415    0.230    6.152    0.000    1.000    1.000
##     jobstress         1.019    0.210    4.858    0.000    1.000    1.000
##     jobsat            2.799    0.369    7.582    0.000    1.000    1.000
##     org_commit        5.283    0.612    8.637    0.000    1.000    1.000
##     turnover          6.540    0.760    8.604    0.000    1.000    1.000
## 
## 
## Group 2 [female]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto =~                                                            
##     ja1               1.000                               0.894    0.675
##     ja2               1.343    0.143    9.402    0.000    1.201    0.774
##     ja3               1.389    0.145    9.573    0.000    1.243    0.792
##     ja4               0.500    0.095    5.235    0.000    0.447    0.405
##     ja5               1.013    0.122    8.286    0.000    0.906    0.666
##     ja6               1.266    0.137    9.221    0.000    1.132    0.756
##     ja7               0.237    0.084    2.827    0.005    0.212    0.215
##     ja8               0.557    0.089    6.261    0.000    0.499    0.490
##   jobstress =~                                                          
##     stress1           1.000                               1.104    0.765
##     stress2           0.726    0.093    7.799    0.000    0.801    0.614
##     stress3           0.831    0.095    8.726    0.000    0.917    0.695
##     stress4           0.806    0.095    8.524    0.000    0.890    0.676
##   jobsat =~                                                             
##     js1               1.000                               1.351    0.790
##     js2               0.885    0.079   11.163    0.000    1.195    0.770
##     js3               0.781    0.073   10.700    0.000    1.055    0.742
##   org_commit =~                                                         
##     oc1               1.000                               2.257    0.903
##     oc2               0.696    0.040   17.550    0.000    1.571    0.847
##     oc3               0.600    0.037   16.346    0.000    1.355    0.819
##     oc4               0.922    0.047   19.580    0.000    2.081    0.887
##     oc5               0.758    0.040   18.798    0.000    1.711    0.872
##     oc6               0.882    0.043   20.646    0.000    1.990    0.905
##     oc7               0.481    0.036   13.494    0.000    1.086    0.739
##     oc8               0.675    0.037   18.042    0.000    1.523    0.857
##   turnover =~                                                           
##     ti1               1.000                               2.315    0.894
##     ti2               0.877    0.046   19.114    0.000    2.031    0.902
##     ti3               0.678    0.041   16.577    0.000    1.569    0.844
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobauto ~~                                                            
##     jobstress        -0.022    0.084   -0.267    0.789   -0.023   -0.023
##     jobsat            0.418    0.113    3.715    0.000    0.346    0.346
##     org_commit        0.579    0.169    3.432    0.001    0.287    0.287
##     turnover          0.641    0.179    3.591    0.000    0.310    0.310
##   jobstress ~~                                                          
##     jobsat           -0.714    0.151   -4.735    0.000   -0.479   -0.479
##     org_commit       -1.486    0.248   -5.995    0.000   -0.596   -0.596
##     turnover         -1.504    0.257   -5.856    0.000   -0.589   -0.589
##   jobsat ~~                                                             
##     org_commit        2.612    0.341    7.667    0.000    0.857    0.857
##     turnover          2.609    0.349    7.482    0.000    0.835    0.835
##   org_commit ~~                                                         
##     turnover          4.745    0.557    8.525    0.000    0.908    0.908
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ja1              -0.035    0.094   -0.375    0.707   -0.035   -0.027
##    .ja2               0.015    0.110    0.133    0.894    0.015    0.009
##    .ja3               0.009    0.111    0.078    0.937    0.009    0.006
##    .ja4               0.082    0.078    1.054    0.292    0.082    0.075
##    .ja5              -0.110    0.096   -1.148    0.251   -0.110   -0.081
##    .ja6              -0.239    0.106   -2.257    0.024   -0.239   -0.160
##    .ja7              -0.073    0.070   -1.053    0.293   -0.073   -0.074
##    .ja8              -0.043    0.072   -0.602    0.547   -0.043   -0.043
##    .stress1          -0.044    0.102   -0.431    0.667   -0.044   -0.030
##    .stress2          -0.056    0.092   -0.610    0.542   -0.056   -0.043
##    .stress3          -0.057    0.093   -0.608    0.543   -0.057   -0.043
##    .stress4           0.106    0.093    1.139    0.255    0.106    0.081
##    .js1              -0.111    0.121   -0.918    0.359   -0.111   -0.065
##    .js2              -0.029    0.110   -0.263    0.792   -0.029   -0.019
##    .js3               0.006    0.101    0.061    0.952    0.006    0.004
##    .oc1              -0.017    0.177   -0.097    0.923   -0.017   -0.007
##    .oc2              -0.045    0.131   -0.344    0.731   -0.045   -0.024
##    .oc3               0.113    0.117    0.965    0.335    0.113    0.068
##    .oc4              -0.034    0.166   -0.203    0.839   -0.034   -0.014
##    .oc5              -0.095    0.139   -0.685    0.494   -0.095   -0.048
##    .oc6              -0.008    0.155   -0.052    0.959   -0.008   -0.004
##    .oc7              -0.033    0.104   -0.322    0.748   -0.033   -0.023
##    .oc8              -0.009    0.126   -0.069    0.945   -0.009   -0.005
##    .ti1              -0.116    0.183   -0.633    0.526   -0.116   -0.045
##    .ti2               0.002    0.159    0.010    0.992    0.002    0.001
##    .ti3              -0.042    0.131   -0.317    0.751   -0.042   -0.022
##     jobauto           0.000                               0.000    0.000
##     jobstress         0.000                               0.000    0.000
##     jobsat            0.000                               0.000    0.000
##     org_commit        0.000                               0.000    0.000
##     turnover          0.000                               0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .ja1               0.954    0.109    8.761    0.000    0.954    0.544
##    .ja2               0.964    0.124    7.765    0.000    0.964    0.401
##    .ja3               0.915    0.122    7.480    0.000    0.915    0.372
##    .ja4               1.017    0.105    9.713    0.000    1.017    0.836
##    .ja5               1.027    0.116    8.819    0.000    1.027    0.556
##    .ja6               0.963    0.120    8.014    0.000    0.963    0.429
##    .ja7               0.922    0.093    9.929    0.000    0.922    0.954
##    .ja8               0.788    0.083    9.538    0.000    0.788    0.760
##    .stress1           0.863    0.129    6.677    0.000    0.863    0.415
##    .stress2           1.060    0.123    8.593    0.000    1.060    0.623
##    .stress3           0.900    0.115    7.799    0.000    0.900    0.517
##    .stress4           0.938    0.117    8.021    0.000    0.938    0.542
##    .js1               1.100    0.146    7.530    0.000    1.100    0.376
##    .js2               0.978    0.125    7.844    0.000    0.978    0.407
##    .js3               0.908    0.111    8.208    0.000    0.908    0.449
##    .oc1               1.154    0.137    8.444    0.000    1.154    0.185
##    .oc2               0.974    0.107    9.111    0.000    0.974    0.283
##    .oc3               0.901    0.097    9.285    0.000    0.901    0.329
##    .oc4               1.174    0.135    8.701    0.000    1.174    0.213
##    .oc5               0.919    0.104    8.880    0.000    0.919    0.239
##    .oc6               0.871    0.104    8.397    0.000    0.871    0.180
##    .oc7               0.977    0.102    9.578    0.000    0.977    0.453
##    .oc8               0.837    0.093    9.027    0.000    0.837    0.265
##    .ti1               1.340    0.185    7.238    0.000    1.340    0.200
##    .ti2               0.940    0.135    6.964    0.000    0.940    0.186
##    .ti3               0.996    0.120    8.326    0.000    0.996    0.288
##     jobauto           0.800    0.156    5.118    0.000    1.000    1.000
##     jobstress         1.219    0.213    5.735    0.000    1.000    1.000
##     jobsat            1.824    0.287    6.344    0.000    1.000    1.000
##     org_commit        5.093    0.618    8.237    0.000    1.000    1.000
##     turnover          5.358    0.668    8.015    0.000    1.000    1.000
#measurement invariance
measurementInvariance(model = HW_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will
## cease to be included in future versions of semTools. See help('semTools-
## deprecated) for details.
## Warning in lavaan::lavTestLRT(...): lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                 Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
## fit.configural 578 32916 33618 543.00                                  
## fit.loadings   599 33005 33624 674.83    131.829      21     <2e-16 ***
## fit.intercepts 620 32978 33513 689.55     14.729      21     0.8363    
## fit.means      625 32969 33484 690.84      1.287       5     0.9363    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Fit measures:
## 
##                  cfi rmsea cfi.delta rmsea.delta
## fit.configural 1.000 0.000        NA          NA
## fit.loadings   0.989 0.025     0.011       0.025
## fit.intercepts 0.990 0.024     0.001       0.001
## fit.means      0.991 0.023     0.001       0.001
# number 4

JA_model <- "jobauto =~ ja1 + ja2 + ja3 +ja4 + ja5 + ja6 + ja7 + ja8"
measurementInvariance(model = JA_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will
## cease to be included in future versions of semTools. See help('semTools-
## deprecated) for details.
## Warning in lavaan::lavTestLRT(...): lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                Df    AIC   BIC   Chisq Chisq diff Df diff Pr(>Chisq)    
## fit.configural 40 9837.5 10029  32.257                                  
## fit.loadings   47 9944.4 10108 153.135    120.878       7     <2e-16 ***
## fit.intercepts 54 9934.7 10070 157.430      4.295       7     0.7453    
## fit.means      55 9932.8 10064 157.558      0.129       1     0.7200    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## 
## Fit measures:
## 
##                  cfi rmsea cfi.delta rmsea.delta
## fit.configural 1.000 0.000        NA          NA
## fit.loadings   0.893 0.106     0.107       0.106
## fit.intercepts 0.895 0.098     0.003       0.008
## fit.means      0.896 0.097     0.001       0.001
JS_model <- "jobstress =~ stress1 + stress2 + stress3 + stress4"
measurementInvariance(model = JS_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will cease to be included in future versions of semTools. See help('semTools-deprecated) for details.

## Warning: lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural  4 5091.9 5187.7 0.8334                              
## fit.loadings    7 5086.8 5170.6 1.7073     0.8739       3     0.8317
## fit.intercepts 10 5084.6 5156.4 5.5141     3.8069       3     0.2831
## fit.means      11 5083.5 5151.4 6.4592     0.9451       1     0.3310
## 
## 
## Fit measures:
## 
##                cfi rmsea cfi.delta rmsea.delta
## fit.configural   1     0        NA          NA
## fit.loadings     1     0         0           0
## fit.intercepts   1     0         0           0
## fit.means        1     0         0           0
JbS_model <- "jobsat =~ js1 + js2 + js3"
measurementInvariance(model = JbS_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will cease to be included in future versions of semTools. See help('semTools-deprecated) for details.

## Warning: lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural  0 4153.1 4225.0 0.0000                              
## fit.loadings    2 4149.7 4213.6 0.5829    0.58290       2     0.7472
## fit.intercepts  4 4146.5 4202.3 1.3144    0.73153       2     0.6937
## fit.means       5 4144.6 4196.5 1.4937    0.17922       1     0.6720
## 
## 
## Fit measures:
## 
##                cfi rmsea cfi.delta rmsea.delta
## fit.configural   1     0        NA          NA
## fit.loadings     1     0         0           0
## fit.intercepts   1     0         0           0
## fit.means        1     0         0           0
OC_model <- "org_commit =~ oc1 + oc2 + oc3 + oc4 + oc5 + oc6 + oc7 +oc8"
measurementInvariance(model = OC_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will cease to be included in future versions of semTools. See help('semTools-deprecated) for details.

## Warning: lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural 40 10416 10608 31.880                              
## fit.loadings   47 10406 10570 35.974     4.0936       7     0.7689
## fit.intercepts 54 10397 10533 40.827     4.8531       7     0.6779
## fit.means      55 10396 10528 41.531     0.7044       1     0.4013
## 
## 
## Fit measures:
## 
##                cfi rmsea cfi.delta rmsea.delta
## fit.configural   1     0        NA          NA
## fit.loadings     1     0         0           0
## fit.intercepts   1     0         0           0
## fit.means        1     0         0           0
t_model <- "turnover =~ ti1 + ti2 + ti3"
measurementInvariance(model = t_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will cease to be included in future versions of semTools. See help('semTools-deprecated) for details.

## Warning: lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                Df    AIC    BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural  0 4532.3 4604.1 0.0000                              
## fit.loadings    2 4528.3 4592.2 0.0570    0.05705       2     0.9719
## fit.intercepts  4 4525.4 4581.3 1.1552    1.09814       2     0.5775
## fit.means       5 4523.8 4575.7 1.5247    0.36949       1     0.5433
## 
## 
## Fit measures:
## 
##                cfi rmsea cfi.delta rmsea.delta
## fit.configural   1     0        NA          NA
## fit.loadings     1     0         0           0
## fit.intercepts   1     0         0           0
## fit.means        1     0         0           0
# number 5
HW2_model <- "jobstress =~ stress1 + stress2 + stress3 + stress4
              jobsat =~ js1 + js2 + js3
              org_commit =~ oc1 + oc2 + oc3 + oc4 + oc5 + oc6 + oc7 +oc8
              turnover =~ ti1 + ti2 + ti3"
# number 6
HW2.sex.out <-cfa(HW2_model, data=HW, group = "sex")
lavaanPlot(model = HW2.sex.out)
summary(HW2.sex.out, fit.measures=TRUE, standardized = TRUE)
## lavaan 0.6-7 ended normally after 109 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                        120
##                                                       
##   Number of observations per group:                   
##     male                                           200
##     female                                         200
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               231.792
##   Degrees of freedom                               258
##   P-value (Chi-square)                           0.878
##   Test statistic for each group:
##     male                                       103.800
##     female                                     127.993
## 
## Model Test Baseline Model:
## 
##   Test statistic                              6284.179
##   Degrees of freedom                               306
##   P-value                                        0.000
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    1.000
##   Tucker-Lewis Index (TLI)                       1.005
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -11457.426
##   Loglikelihood unrestricted model (H1)     -11341.530
##                                                       
##   Akaike (AIC)                               23154.853
##   Bayesian (BIC)                             23633.829
##   Sample-size adjusted Bayesian (BIC)        23253.061
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.000
##   90 Percent confidence interval - lower         0.000
##   90 Percent confidence interval - upper         0.015
##   P-value RMSEA <= 0.05                          1.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.031
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## 
## Group 1 [male]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobstress =~                                                          
##     stress1           1.000                               1.021    0.690
##     stress2           0.638    0.099    6.429    0.000    0.651    0.545
##     stress3           0.929    0.115    8.047    0.000    0.948    0.745
##     stress4           0.783    0.108    7.281    0.000    0.800    0.634
##   jobsat =~                                                             
##     js1               1.000                               1.673    0.869
##     js2               0.902    0.059   15.293    0.000    1.509    0.842
##     js3               0.809    0.056   14.440    0.000    1.353    0.814
##   org_commit =~                                                         
##     oc1               1.000                               2.298    0.927
##     oc2               0.777    0.040   19.604    0.000    1.785    0.865
##     oc3               0.604    0.036   16.787    0.000    1.387    0.811
##     oc4               0.949    0.043   22.062    0.000    2.181    0.902
##     oc5               0.809    0.040   20.309    0.000    1.858    0.877
##     oc6               0.922    0.041   22.329    0.000    2.119    0.905
##     oc7               0.561    0.034   16.405    0.000    1.290    0.803
##     oc8               0.701    0.036   19.372    0.000    1.611    0.861
##   turnover =~                                                           
##     ti1               1.000                               2.556    0.929
##     ti2               0.860    0.039   22.237    0.000    2.197    0.913
##     ti3               0.677    0.036   18.971    0.000    1.730    0.861
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobstress ~~                                                          
##     jobsat           -0.671    0.165   -4.076    0.000   -0.393   -0.393
##     org_commit       -1.342    0.242   -5.549    0.000   -0.572   -0.572
##     turnover         -1.173    0.252   -4.650    0.000   -0.450   -0.450
##   jobsat ~~                                                             
##     org_commit        3.315    0.402    8.256    0.000    0.862    0.862
##     turnover          3.871    0.458    8.448    0.000    0.905    0.905
##   org_commit ~~                                                         
##     turnover          5.246    0.601    8.730    0.000    0.893    0.893
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .stress1          -0.175    0.105   -1.671    0.095   -0.175   -0.118
##    .stress2           0.032    0.084    0.374    0.708    0.032    0.026
##    .stress3          -0.176    0.090   -1.955    0.051   -0.176   -0.138
##    .stress4          -0.084    0.089   -0.941    0.347   -0.084   -0.067
##    .js1              -0.006    0.136   -0.047    0.963   -0.006   -0.003
##    .js2              -0.036    0.127   -0.288    0.773   -0.036   -0.020
##    .js3               0.094    0.118    0.798    0.425    0.094    0.056
##    .oc1               0.132    0.175    0.751    0.452    0.132    0.053
##    .oc2               0.120    0.146    0.820    0.412    0.120    0.058
##    .oc3               0.149    0.121    1.231    0.218    0.149    0.087
##    .oc4               0.223    0.171    1.302    0.193    0.223    0.092
##    .oc5               0.220    0.150    1.469    0.142    0.220    0.104
##    .oc6               0.116    0.165    0.699    0.485    0.116    0.049
##    .oc7               0.023    0.114    0.206    0.836    0.023    0.015
##    .oc8               0.078    0.132    0.589    0.556    0.078    0.042
##    .ti1               0.038    0.195    0.198    0.843    0.038    0.014
##    .ti2               0.079    0.170    0.464    0.643    0.079    0.033
##    .ti3               0.152    0.142    1.070    0.285    0.152    0.076
##     jobstress         0.000                               0.000    0.000
##     jobsat            0.000                               0.000    0.000
##     org_commit        0.000                               0.000    0.000
##     turnover          0.000                               0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .stress1           1.148    0.154    7.462    0.000    1.148    0.524
##    .stress2           1.003    0.113    8.846    0.000    1.003    0.703
##    .stress3           0.723    0.111    6.540    0.000    0.723    0.446
##    .stress4           0.950    0.117    8.140    0.000    0.950    0.598
##    .js1               0.908    0.126    7.189    0.000    0.908    0.245
##    .js2               0.938    0.120    7.816    0.000    0.938    0.292
##    .js3               0.935    0.113    8.258    0.000    0.935    0.338
##    .oc1               0.864    0.107    8.076    0.000    0.864    0.141
##    .oc2               1.070    0.118    9.068    0.000    1.070    0.251
##    .oc3               1.000    0.106    9.399    0.000    1.000    0.342
##    .oc4               1.091    0.126    8.631    0.000    1.091    0.187
##    .oc5               1.041    0.116    8.960    0.000    1.041    0.232
##    .oc6               0.987    0.115    8.571    0.000    0.987    0.180
##    .oc7               0.918    0.097    9.435    0.000    0.918    0.356
##    .oc8               0.904    0.099    9.101    0.000    0.904    0.258
##    .ti1               1.040    0.159    6.521    0.000    1.040    0.137
##    .ti2               0.965    0.133    7.233    0.000    0.965    0.167
##    .ti3               1.042    0.123    8.450    0.000    1.042    0.258
##     jobstress         1.042    0.213    4.898    0.000    1.000    1.000
##     jobsat            2.798    0.370    7.564    0.000    1.000    1.000
##     org_commit        5.281    0.612    8.634    0.000    1.000    1.000
##     turnover          6.536    0.760    8.599    0.000    1.000    1.000
## 
## 
## Group 2 [female]:
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobstress =~                                                          
##     stress1           1.000                               1.102    0.764
##     stress2           0.721    0.094    7.710    0.000    0.795    0.609
##     stress3           0.831    0.096    8.679    0.000    0.917    0.695
##     stress4           0.814    0.095    8.548    0.000    0.897    0.682
##   jobsat =~                                                             
##     js1               1.000                               1.349    0.789
##     js2               0.887    0.080   11.151    0.000    1.198    0.772
##     js3               0.781    0.073   10.650    0.000    1.053    0.741
##   org_commit =~                                                         
##     oc1               1.000                               2.257    0.903
##     oc2               0.696    0.040   17.549    0.000    1.571    0.847
##     oc3               0.600    0.037   16.346    0.000    1.355    0.819
##     oc4               0.922    0.047   19.587    0.000    2.081    0.887
##     oc5               0.758    0.040   18.804    0.000    1.711    0.872
##     oc6               0.881    0.043   20.641    0.000    1.989    0.905
##     oc7               0.481    0.036   13.489    0.000    1.085    0.739
##     oc8               0.675    0.037   18.050    0.000    1.523    0.857
##   turnover =~                                                           
##     ti1               1.000                               2.314    0.894
##     ti2               0.879    0.046   19.137    0.000    2.033    0.904
##     ti3               0.677    0.041   16.524    0.000    1.567    0.843
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   jobstress ~~                                                          
##     jobsat           -0.711    0.150   -4.724    0.000   -0.478   -0.478
##     org_commit       -1.484    0.248   -5.989    0.000   -0.597   -0.597
##     turnover         -1.502    0.257   -5.849    0.000   -0.589   -0.589
##   jobsat ~~                                                             
##     org_commit        2.611    0.341    7.661    0.000    0.857    0.857
##     turnover          2.605    0.349    7.474    0.000    0.834    0.834
##   org_commit ~~                                                         
##     turnover          4.743    0.556    8.523    0.000    0.908    0.908
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .stress1          -0.044    0.102   -0.431    0.667   -0.044   -0.030
##    .stress2          -0.056    0.092   -0.610    0.542   -0.056   -0.043
##    .stress3          -0.057    0.093   -0.608    0.543   -0.057   -0.043
##    .stress4           0.106    0.093    1.139    0.255    0.106    0.081
##    .js1              -0.111    0.121   -0.918    0.359   -0.111   -0.065
##    .js2              -0.029    0.110   -0.263    0.792   -0.029   -0.019
##    .js3               0.006    0.101    0.061    0.952    0.006    0.004
##    .oc1              -0.017    0.177   -0.097    0.923   -0.017   -0.007
##    .oc2              -0.045    0.131   -0.344    0.731   -0.045   -0.024
##    .oc3               0.113    0.117    0.965    0.335    0.113    0.068
##    .oc4              -0.034    0.166   -0.203    0.839   -0.034   -0.014
##    .oc5              -0.095    0.139   -0.685    0.494   -0.095   -0.048
##    .oc6              -0.008    0.155   -0.052    0.959   -0.008   -0.004
##    .oc7              -0.033    0.104   -0.322    0.748   -0.033   -0.023
##    .oc8              -0.009    0.126   -0.069    0.945   -0.009   -0.005
##    .ti1              -0.116    0.183   -0.633    0.526   -0.116   -0.045
##    .ti2               0.002    0.159    0.010    0.992    0.002    0.001
##    .ti3              -0.042    0.131   -0.317    0.751   -0.042   -0.022
##     jobstress         0.000                               0.000    0.000
##     jobsat            0.000                               0.000    0.000
##     org_commit        0.000                               0.000    0.000
##     turnover          0.000                               0.000    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .stress1           0.867    0.130    6.659    0.000    0.867    0.416
##    .stress2           1.071    0.124    8.612    0.000    1.071    0.629
##    .stress3           0.901    0.116    7.774    0.000    0.901    0.517
##    .stress4           0.924    0.117    7.927    0.000    0.924    0.534
##    .js1               1.103    0.147    7.511    0.000    1.103    0.377
##    .js2               0.972    0.125    7.792    0.000    0.972    0.404
##    .js3               0.911    0.111    8.196    0.000    0.911    0.451
##    .oc1               1.153    0.137    8.443    0.000    1.153    0.185
##    .oc2               0.974    0.107    9.111    0.000    0.974    0.283
##    .oc3               0.901    0.097    9.286    0.000    0.901    0.329
##    .oc4               1.173    0.135    8.700    0.000    1.173    0.213
##    .oc5               0.919    0.103    8.879    0.000    0.919    0.239
##    .oc6               0.872    0.104    8.400    0.000    0.872    0.181
##    .oc7               0.977    0.102    9.578    0.000    0.977    0.453
##    .oc8               0.836    0.093    9.025    0.000    0.836    0.265
##    .ti1               1.344    0.186    7.238    0.000    1.344    0.201
##    .ti2               0.930    0.135    6.911    0.000    0.930    0.184
##    .ti3               1.001    0.120    8.333    0.000    1.001    0.290
##     jobstress         1.215    0.213    5.710    0.000    1.000    1.000
##     jobsat            1.821    0.288    6.331    0.000    1.000    1.000
##     org_commit        5.093    0.618    8.238    0.000    1.000    1.000
##     turnover          5.353    0.668    8.008    0.000    1.000    1.000
#measurement invariance
measurementInvariance(model = HW2_model, data=HW, group = "sex")
## Warning: The measurementInvariance function is deprecated, and it will
## cease to be included in future versions of semTools. See help('semTools-
## deprecated) for details.
## Warning in lavaan::lavTestLRT(...): lavaan WARNING: method = "satorra.bentler.2001"
##   but no robust test statistics were used;
##   switching to the standard chi-square difference test
## 
## Measurement invariance models:
## 
## Model 1 : fit.configural
## Model 2 : fit.loadings
## Model 3 : fit.intercepts
## Model 4 : fit.means
## 
## Chi-Squared Difference Test
## 
##                 Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)
## fit.configural 258 23155 23634 231.79                              
## fit.loadings   272 23133 23556 237.72     5.9288      14     0.9683
## fit.intercepts 286 23115 23482 248.16    10.4398      14     0.7294
## fit.means      290 23109 23460 249.39     1.2334       4     0.8726
## 
## 
## Fit measures:
## 
##                cfi rmsea cfi.delta rmsea.delta
## fit.configural   1     0        NA          NA
## fit.loadings     1     0         0           0
## fit.intercepts   1     0         0           0
## fit.means        1     0         0           0
# number 7
HW2_sem <-  lavaan::sem(HW2_model, data=HW, group="sex") 
#semPaths(HW2_sem)
#Number 9

partialm <- 'jobstress =~ stress1 + stress2 + stress3 + stress4
        jobsat =~ js1 + js2 + js3
        org_commit =~ oc1 + oc2 + oc3 + oc4 + oc5 + oc6 + oc7 + oc8
        turnover =~ ti1 + ti2 + ti3

        jobsat ~ jobstress + pay
        org_commit ~ jobsat + jobstress + pay
        turnover ~ jobsat + org_commit
'

partialm.out <- sem(partialm, data = HW)
summary(partialm.out)
## lavaan 0.6-7 ended normally after 48 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         43
##                                                       
##   Number of observations                           400
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               123.406
##   Degrees of freedom                               146
##   P-value (Chi-square)                           0.913
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   jobstress =~                                        
##     stress1           1.000                           
##     stress2           0.675    0.068    9.887    0.000
##     stress3           0.883    0.074   11.969    0.000
##     stress4           0.813    0.072   11.309    0.000
##   jobsat =~                                           
##     js1               1.000                           
##     js2               0.891    0.048   18.513    0.000
##     js3               0.793    0.045   17.588    0.000
##   org_commit =~                                       
##     oc1               1.000                           
##     oc2               0.739    0.029   25.754    0.000
##     oc3               0.604    0.026   23.070    0.000
##     oc4               0.938    0.033   28.771    0.000
##     oc5               0.788    0.029   27.134    0.000
##     oc6               0.903    0.030   29.641    0.000
##     oc7               0.523    0.025   20.652    0.000
##     oc8               0.689    0.027   25.895    0.000
##   turnover =~                                         
##     ti1               1.000                           
##     ti2               0.867    0.030   28.663    0.000
##     ti3               0.679    0.027   24.803    0.000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   jobsat ~                                            
##     jobstress        -0.561    0.082   -6.862    0.000
##     pay               0.722    0.077    9.398    0.000
##   org_commit ~                                        
##     jobsat            0.964    0.072   13.373    0.000
##     jobstress        -0.623    0.088   -7.105    0.000
##     pay               0.458    0.082    5.549    0.000
##   turnover ~                                          
##     jobsat            0.605    0.110    5.508    0.000
##     org_commit        0.617    0.072    8.629    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .stress1           1.017    0.100   10.172    0.000
##    .stress2           1.055    0.085   12.430    0.000
##    .stress3           0.810    0.079   10.258    0.000
##    .stress4           0.925    0.082   11.273    0.000
##    .js1               0.986    0.096   10.234    0.000
##    .js2               0.960    0.087   10.994    0.000
##    .js3               0.930    0.080   11.594    0.000
##    .oc1               1.022    0.087   11.781    0.000
##    .oc2               1.023    0.080   12.857    0.000
##    .oc3               0.944    0.071   13.216    0.000
##    .oc4               1.134    0.092   12.271    0.000
##    .oc5               0.981    0.078   12.619    0.000
##    .oc6               0.938    0.078   12.048    0.000
##    .oc7               0.954    0.071   13.456    0.000
##    .oc8               0.872    0.068   12.835    0.000
##    .ti1               1.193    0.123    9.705    0.000
##    .ti2               0.957    0.096    9.988    0.000
##    .ti3               1.015    0.086   11.792    0.000
##     jobstress         1.124    0.150    7.480    0.000
##    .jobsat            1.471    0.163    9.002    0.000
##    .org_commit        0.956    0.125    7.658    0.000
##    .turnover          0.901    0.121    7.413    0.000
#semPaths(partialm.out)
fullm <- 'jobstress =~ stress1 + stress2 + stress3 + stress4
        jobsat =~ js1 + js2 + js3
        org_commit =~ oc1 + oc2 + oc3 + oc4 + oc5 + oc6 + oc7 + oc8
        turnover =~ ti1 + ti2 + ti3

        jobsat ~ jobstress + pay
        org_commit ~ jobsat + jobstress + pay
        turnover ~ org_commit
'

fullm.out <- sem(fullm, data = HW)
summary(fullm.out)
## lavaan 0.6-7 ended normally after 46 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of free parameters                         42
##                                                       
##   Number of observations                           400
##                                                       
## Model Test User Model:
##                                                       
##   Test statistic                               155.043
##   Degrees of freedom                               147
##   P-value (Chi-square)                           0.309
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   jobstress =~                                        
##     stress1           1.000                           
##     stress2           0.675    0.068    9.885    0.000
##     stress3           0.882    0.074   11.966    0.000
##     stress4           0.814    0.072   11.318    0.000
##   jobsat =~                                           
##     js1               1.000                           
##     js2               0.889    0.048   18.380    0.000
##     js3               0.788    0.045   17.386    0.000
##   org_commit =~                                       
##     oc1               1.000                           
##     oc2               0.738    0.029   25.595    0.000
##     oc3               0.604    0.026   23.051    0.000
##     oc4               0.937    0.033   28.624    0.000
##     oc5               0.787    0.029   27.043    0.000
##     oc6               0.902    0.031   29.550    0.000
##     oc7               0.523    0.025   20.622    0.000
##     oc8               0.689    0.027   25.874    0.000
##   turnover =~                                         
##     ti1               1.000                           
##     ti2               0.866    0.030   28.565    0.000
##     ti3               0.677    0.027   24.697    0.000
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   jobsat ~                                            
##     jobstress        -0.555    0.082   -6.763    0.000
##     pay               0.735    0.077    9.489    0.000
##   org_commit ~                                        
##     jobsat            0.995    0.072   13.873    0.000
##     jobstress        -0.605    0.085   -7.095    0.000
##     pay               0.424    0.081    5.230    0.000
##   turnover ~                                          
##     org_commit        0.974    0.040   24.072    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .stress1           1.017    0.100   10.172    0.000
##    .stress2           1.055    0.085   12.432    0.000
##    .stress3           0.811    0.079   10.268    0.000
##    .stress4           0.924    0.082   11.265    0.000
##    .js1               0.976    0.098    9.975    0.000
##    .js2               0.960    0.089   10.826    0.000
##    .js3               0.942    0.082   11.512    0.000
##    .oc1               1.029    0.087   11.885    0.000
##    .oc2               1.036    0.080   12.926    0.000
##    .oc3               0.945    0.071   13.251    0.000
##    .oc4               1.149    0.093   12.369    0.000
##    .oc5               0.988    0.078   12.688    0.000
##    .oc6               0.945    0.078   12.144    0.000
##    .oc7               0.956    0.071   13.483    0.000
##    .oc8               0.873    0.068   12.883    0.000
##    .ti1               1.178    0.124    9.480    0.000
##    .ti2               0.960    0.097    9.852    0.000
##    .ti3               1.022    0.087   11.733    0.000
##     jobstress         1.124    0.150    7.481    0.000
##    .jobsat            1.472    0.164    8.974    0.000
##    .org_commit        0.875    0.119    7.362    0.000
##    .turnover          1.055    0.130    8.110    0.000
#semPaths(fullm.out)
compareFit(partialm.out,fullm.out)
## ################### Nested Model Comparison #########################
## Chi-Squared Difference Test
## 
##               Df   AIC   BIC  Chisq Chisq diff Df diff Pr(>Chisq)    
## partialm.out 146 22913 23084 123.41                                  
## fullm.out    147 22942 23110 155.04     31.637       1  1.859e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## ####################### Model Fit Indices ###########################
##                 chisq  df pvalue    cfi    tli        aic        bic rmsea
## partialm.out 123.406† 146   .913 1.000† 1.004† 22912.623† 23084.256† .000†
## fullm.out    155.043  147   .309 0.999  0.998  22942.260  23109.902  .012 
##               srmr
## partialm.out .033†
## fullm.out    .036 
## 
## ################## Differences in Fit Indices #######################
##                          df    cfi    tli    aic    bic rmsea  srmr
## fullm.out - partialm.out  1 -0.001 -0.006 29.637 25.646 0.012 0.003