There are 24 items used for the AVI measurements:
p <- c(“happ”, “sati”, “cont”)
hap <- c(“enth”, “exci”, “elat”)
lap <- c(“peac”, “calm”, “rela”)
n <- c(“sadx”, “lone”, “unha”)
han <- c(“fear”, “host”, “nerv”)
lan <- c(“slug”, “slee”, “dull”)
la <- c(“quie”, “stil”, “pass”)
ha <- c(“aler”, “surp”, “asto”)
When modelling two quadrants (e.g., ideal HAN and avoided HAN), the model has 6(6+1)/2 = 21 Number of unique pieces of information (variance and covariance between the 6 observed/ manifest variables).
Degrees of freedom = Number of unique pieces of information − Number of estimated parameters
From the three models estimated, the model with the estimated covariation between iHAN and aaHAN (model1.0) fit the data best.
summary(model1.0, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 28 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 13
##
## Used Total
## Number of observations 983 997
##
## Model Test User Model:
##
## Test statistic 68.829
## Degrees of freedom 8
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1345.288
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.954
## Tucker-Lewis Index (TLI) 0.914
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -6344.979
## Loglikelihood unrestricted model (H1) -6310.565
##
## Akaike (AIC) 12715.958
## Bayesian (BIC) 12779.536
## Sample-size adjusted Bayesian (SABIC) 12738.248
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.088
## 90 Percent confidence interval - lower 0.069
## 90 Percent confidence interval - upper 0.108
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 0.772
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.036
##
## 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
## aa_HAN =~
## aa.fear 1.000 0.929 0.837
## aa.host 0.850 0.047 18.032 0.000 0.790 0.711
## aa.nerv 0.696 0.041 17.146 0.000 0.647 0.645
## i_HAN =~
## i.fear2 1.000 0.359 0.652
## i.host2 0.769 0.071 10.829 0.000 0.276 0.524
## i.nerv2 1.218 0.108 11.281 0.000 0.438 0.644
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_HAN ~~
## i_HAN -0.145 0.017 -8.449 0.000 -0.434 -0.434
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.fear 0.368 0.042 8.719 0.000 0.368 0.299
## .aa.host 0.610 0.040 15.372 0.000 0.610 0.494
## .aa.nerv 0.588 0.033 17.816 0.000 0.588 0.584
## .i.fear2 0.174 0.013 13.169 0.000 0.174 0.574
## .i.host2 0.202 0.011 17.747 0.000 0.202 0.725
## .i.nerv2 0.271 0.020 13.535 0.000 0.271 0.586
## aa_HAN 0.863 0.066 13.148 0.000 1.000 1.000
## i_HAN 0.129 0.015 8.354 0.000 1.000 1.000
Now, we’ll look at model fit indices to check what other “uninteresting” covariation paths we might need.
modificationIndices(model1.0, sort = TRUE, minimum.value = 10)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 33 aa.nerv ~~ i.nerv2 42.362 -0.103 -0.103 -0.259 -0.259
## 29 aa.host ~~ i.host2 24.596 -0.067 -0.067 -0.191 -0.191
## 30 aa.host ~~ i.nerv2 13.307 0.062 0.062 0.152 0.152
# model 1.0a: modified based on top 2 modification indices [editing top 2 made the chi square non-significant]
fullsample_sem1.0a <- '
# latent variables; paths = 6
aa_HAN =~ aa.fear + aa.host + aa.nerv
i_HAN =~ i.fear2 + i.host2 + i.nerv2
# latent variable covariance; paths = 1
i_HAN ~~ aa_HAN
# item covariances
aa.nerv ~~ i.nerv2
aa.host ~~ i.host2
'
model1.0a <- sem(fullsample_sem1.0a, data = data)
summary(model1.0a, standardized = TRUE , fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 32 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 15
##
## Used Total
## Number of observations 983 997
##
## Model Test User Model:
##
## Test statistic 3.891
## Degrees of freedom 6
## P-value (Chi-square) 0.691
##
## Model Test Baseline Model:
##
## Test statistic 1345.288
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 1.000
## Tucker-Lewis Index (TLI) 1.004
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -6312.510
## Loglikelihood unrestricted model (H1) -6310.565
##
## Akaike (AIC) 12655.020
## Bayesian (BIC) 12728.380
## Sample-size adjusted Bayesian (SABIC) 12680.739
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.000
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.032
## P-value H_0: RMSEA <= 0.050 0.997
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.008
##
## 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
## aa_HAN =~
## aa.fear 1.000 0.946 0.853
## aa.host 0.827 0.047 17.495 0.000 0.783 0.704
## aa.nerv 0.668 0.040 16.647 0.000 0.633 0.631
## i_HAN =~
## i.fear2 1.000 0.369 0.670
## i.host2 0.734 0.069 10.650 0.000 0.271 0.513
## i.nerv2 1.175 0.107 11.019 0.000 0.434 0.637
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_HAN ~~
## i_HAN -0.137 0.017 -7.965 0.000 -0.392 -0.392
## .aa.nerv ~~
## .i.nerv2 -0.100 0.016 -6.090 0.000 -0.100 -0.246
## .aa.host ~~
## .i.host2 -0.064 0.014 -4.630 0.000 -0.064 -0.179
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.fear 0.335 0.045 7.443 0.000 0.335 0.272
## .aa.host 0.622 0.041 15.339 0.000 0.622 0.504
## .aa.nerv 0.604 0.033 18.054 0.000 0.604 0.601
## .i.fear2 0.167 0.014 12.087 0.000 0.167 0.551
## .i.host2 0.205 0.011 17.964 0.000 0.205 0.736
## .i.nerv2 0.275 0.020 13.561 0.000 0.275 0.594
## aa_HAN 0.896 0.068 13.136 0.000 1.000 1.000
## i_HAN 0.136 0.016 8.363 0.000 1.000 1.000
Adding the following two covariance paths:
Made the chi-square statistic non-significant. HOWEVER, note that CFI and TLI are both 1, and RMSEA is 0, meaning that the model may be overfitted.
Fitting only the first item covariance, the chi square statistic is still significant, but CFI = 0.986, TLI = 0.969, RMSEA = 0.053, SRMR = 0.024. Based on chi-squared difference test, the model is significantly worse (Δchi-square = 22.40, p < .001) than modelling the two covariances in items (as presented above).
Hence, if we take it that we should model the two item covariance pathways (instead of just one), the final model (standardized coefficients) looks like this:
From the three models estimated, the model with the estimated covariation between iLAN and aaLAN (model2.0) fit the data best.
summary(model2.0, standardized = TRUE , fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 25 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 13
##
## Used Total
## Number of observations 986 997
##
## Model Test User Model:
##
## Test statistic 47.617
## Degrees of freedom 8
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1560.864
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.974
## Tucker-Lewis Index (TLI) 0.952
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -6811.226
## Loglikelihood unrestricted model (H1) -6787.417
##
## Akaike (AIC) 13648.452
## Bayesian (BIC) 13712.070
## Sample-size adjusted Bayesian (SABIC) 13670.781
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.071
## 90 Percent confidence interval - lower 0.052
## 90 Percent confidence interval - upper 0.091
## P-value H_0: RMSEA <= 0.050 0.034
## P-value H_0: RMSEA >= 0.080 0.240
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.026
##
## 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
## aa_LAN =~
## aa.slug 1.000 0.856 0.747
## aa.slee 0.842 0.050 16.995 0.000 0.720 0.689
## aa.dull 0.882 0.051 17.238 0.000 0.754 0.728
## i_LAN =~
## i.slug2 1.000 0.509 0.747
## i.slee2 1.048 0.066 15.984 0.000 0.533 0.671
## i.dull2 0.890 0.055 16.167 0.000 0.453 0.701
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_LAN ~~
## i_LAN -0.161 0.020 -7.944 0.000 -0.369 -0.369
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.579 0.044 13.175 0.000 0.579 0.441
## .aa.slee 0.573 0.036 15.825 0.000 0.573 0.525
## .aa.dull 0.503 0.036 14.096 0.000 0.503 0.469
## .i.slug2 0.205 0.016 12.498 0.000 0.205 0.442
## .i.slee2 0.347 0.022 15.948 0.000 0.347 0.550
## .i.dull2 0.212 0.014 14.691 0.000 0.212 0.509
## aa_LAN 0.732 0.064 11.495 0.000 1.000 1.000
## i_LAN 0.259 0.023 11.202 0.000 1.000 1.000
Now, we’ll look at model fit indices to check what other “uninteresting” covariation paths we might need.
modificationIndices(model2.0, sort = TRUE, minimum.value = 10)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 24 aa.slug ~~ i.slug2 18.408 -0.068 -0.068 -0.198 -0.198
## 29 aa.slee ~~ i.slee2 15.267 -0.070 -0.070 -0.157 -0.157
## 33 aa.dull ~~ i.dull2 13.908 -0.052 -0.052 -0.159 -0.159
# model 2.0a: modified based on top 3 modification indices [editing top 3 made the chi square non-significant]
fullsample_sem2.0a <- '
# latent variables; paths = 6
aa_LAN =~ aa.slug + aa.slee + aa.dull
i_LAN =~ i.slug2 + i.slee2 + i.dull2
# latent variable covariance; paths = 1
i_LAN ~~ aa_LAN
'
model2.0a <- sem(fullsample_sem2.0a, data = data)
summary(model2.0a, standardized = TRUE , fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 25 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 13
##
## Used Total
## Number of observations 986 997
##
## Model Test User Model:
##
## Test statistic 47.617
## Degrees of freedom 8
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1560.864
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.974
## Tucker-Lewis Index (TLI) 0.952
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -6811.226
## Loglikelihood unrestricted model (H1) -6787.417
##
## Akaike (AIC) 13648.452
## Bayesian (BIC) 13712.070
## Sample-size adjusted Bayesian (SABIC) 13670.781
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.071
## 90 Percent confidence interval - lower 0.052
## 90 Percent confidence interval - upper 0.091
## P-value H_0: RMSEA <= 0.050 0.034
## P-value H_0: RMSEA >= 0.080 0.240
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.026
##
## 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
## aa_LAN =~
## aa.slug 1.000 0.856 0.747
## aa.slee 0.842 0.050 16.995 0.000 0.720 0.689
## aa.dull 0.882 0.051 17.238 0.000 0.754 0.728
## i_LAN =~
## i.slug2 1.000 0.509 0.747
## i.slee2 1.048 0.066 15.984 0.000 0.533 0.671
## i.dull2 0.890 0.055 16.167 0.000 0.453 0.701
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_LAN ~~
## i_LAN -0.161 0.020 -7.944 0.000 -0.369 -0.369
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.579 0.044 13.175 0.000 0.579 0.441
## .aa.slee 0.573 0.036 15.825 0.000 0.573 0.525
## .aa.dull 0.503 0.036 14.096 0.000 0.503 0.469
## .i.slug2 0.205 0.016 12.498 0.000 0.205 0.442
## .i.slee2 0.347 0.022 15.948 0.000 0.347 0.550
## .i.dull2 0.212 0.014 14.691 0.000 0.212 0.509
## aa_LAN 0.732 0.064 11.495 0.000 1.000 1.000
## i_LAN 0.259 0.023 11.202 0.000 1.000 1.000
Adding the following three covariance paths:
Made the chi-square statistic non-significant (CFI = 0.998, TLI =
0.995, RMSEA = 0.023, SRMR = 0.016).
Hence, the final model (standardized coefficients) looks like this:
When modelling the four quadrants and the two neutral valence affect, the model has 18*(18+1)/2 = 171 number of unique pieces of information.
From the three models estimated, the model with the estimated
covariation between aa and ia (model3.0) fit the data best. Now, let’s
see if modelling the individual covariances between avoided and ideal
NEG, HAN and LAN significantly improves the fit.
* model3.0a = aa and ia allowed to covary, as well as iNEG & aaNEG,
iHAN & aaHAN, iLAN & aaLAN.
compareFit(model3.0, model3.0a) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model3.0a 125 35356 35580 385.14
## model3.0 128 35403 35612 438.35 53.21 0.13176 3 1.654e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model3.0a 385.141† 125 .000 .046† .965† .957† .029† 35355.735† 35579.805†
## model3.0 438.351 128 .000 .050 .958 .950 .032 35402.945 35612.402
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model3.0 - model3.0a 3 0.004 -0.007 -0.007 0.003 47.21 32.597
Comparing the two models, model3.0a fits better (Δchi-square = 53.21, p < .001). So we’ll see the modification indices for that. I used the modification indices in two different ways:
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 264 aa.nerv ~~ i.nerv2 34.628 -0.084 -0.084 -0.226 -0.226
## 327 i.host2 ~~ i.unha2 27.230 -0.035 -0.035 -0.208 -0.208
## 251 aa.host ~~ i.host2 22.176 -0.060 -0.060 -0.172 -0.172
## 287 aa.lone ~~ i.lone2 21.184 -0.062 -0.062 -0.173 -0.173
## 297 aa.unha ~~ i.unha2 19.976 -0.043 -0.043 -0.192 -0.192
## 269 aa.sadx ~~ aa.unha 19.281 0.098 0.098 0.314 0.314
## 177 i_NEG =~ i.dull2 17.950 0.495 0.220 0.341 0.341
## 189 aa.slug ~~ i.slug2 16.546 -0.060 -0.060 -0.168 -0.168
## 206 aa.slee ~~ i.slee2 15.880 -0.070 -0.070 -0.150 -0.150
## 281 aa.lone ~~ i.slee2 14.117 0.063 0.063 0.140 0.140
## 243 aa.host ~~ aa.nerv 13.238 -0.083 -0.083 -0.147 -0.147
## 318 i.dull2 ~~ i.unha2 13.230 0.026 0.026 0.160 0.160
## 252 aa.host ~~ i.nerv2 13.096 0.055 0.055 0.143 0.143
## 321 i.fear2 ~~ i.sadx2 12.067 0.023 0.023 0.143 0.143
## 62 aa =~ aa.lone 11.192 0.517 0.377 0.336 0.336
## 218 aa.dull ~~ aa.lone 11.024 0.067 0.067 0.130 0.130
## 313 i.dull2 ~~ i.fear2 10.724 -0.025 -0.025 -0.134 -0.134
## 148 i_LAN =~ i.sadx2 9.848 -0.269 -0.133 -0.226 -0.226
## 92 aa_HAN =~ aa.lone 9.261 0.334 0.293 0.261 0.261
## 221 aa.dull ~~ i.slee2 8.986 0.049 0.049 0.119 0.119
## 77 aa_LAN =~ aa.lone 8.906 0.237 0.197 0.176 0.176
## 145 i_LAN =~ i.fear2 8.704 -0.303 -0.150 -0.273 -0.273
## 301 i.slug2 ~~ i.host2 8.187 0.023 0.023 0.110 0.110
## 262 aa.nerv ~~ i.fear2 7.917 0.033 0.033 0.107 0.107
## 222 aa.dull ~~ i.dull2 7.516 -0.035 -0.035 -0.114 -0.114
## 63 aa =~ aa.unha 7.002 -0.404 -0.295 -0.277 -0.277
## 278 aa.sadx ~~ i.unha2 6.987 0.024 0.024 0.123 0.123
## 149 i_LAN =~ i.lone2 6.784 0.248 0.122 0.184 0.184
## 276 aa.sadx ~~ i.sadx2 6.703 -0.023 -0.023 -0.116 -0.116
## 233 aa.fear ~~ aa.unha 6.658 -0.046 -0.046 -0.113 -0.113
## 317 i.dull2 ~~ i.lone2 6.602 0.022 0.022 0.103 0.103
## 178 i_NEG =~ i.fear2 6.526 0.313 0.139 0.253 0.253
## 93 aa_HAN =~ aa.unha 6.512 -0.271 -0.238 -0.224 -0.224
## 229 aa.fear ~~ aa.host 6.261 0.068 0.068 0.131 0.131
## 277 aa.sadx ~~ i.lone2 6.197 0.026 0.026 0.106 0.106
## 225 aa.dull ~~ i.nerv2 6.080 -0.034 -0.034 -0.098 -0.098
## 182 aa.slug ~~ aa.dull 5.989 -0.072 -0.072 -0.137 -0.137
## 167 i_NEG =~ aa.slee 5.879 0.177 0.079 0.076 0.076
## 134 ia =~ i.lone2 5.807 0.505 0.219 0.329 0.329
## 268 aa.sadx ~~ aa.lone 5.625 -0.049 -0.049 -0.127 -0.127
## 309 i.slee2 ~~ i.nerv2 5.601 0.028 0.028 0.094 0.094
## 257 aa.nerv ~~ aa.lone 5.311 0.048 0.048 0.085 0.085
## 90 aa_HAN =~ aa.dull 5.300 0.302 0.265 0.260 0.260
## 175 i_NEG =~ i.slug2 5.290 -0.283 -0.126 -0.185 -0.185
## 191 aa.slug ~~ i.dull2 5.250 0.032 0.032 0.095 0.095
## 119 ia =~ aa.slee 5.225 0.177 0.077 0.074 0.074
## 56 aa =~ aa.slee 5.210 -0.377 -0.275 -0.266 -0.266
## 85 aa_LAN =~ i.sadx2 5.173 0.047 0.039 0.067 0.067
## 179 i_NEG =~ i.host2 4.956 -0.236 -0.105 -0.199 -0.199
## 213 aa.slee ~~ i.unha2 4.893 0.026 0.026 0.088 0.088
## 57 aa =~ aa.dull 4.801 0.403 0.294 0.288 0.288
## 295 aa.unha ~~ i.sadx2 4.799 0.021 0.021 0.091 0.091
## 105 aa_NEG =~ aa.dull 4.759 0.185 0.164 0.161 0.161
## 152 i_HAN =~ aa.slee 4.552 0.204 0.072 0.070 0.070
## 202 aa.slee ~~ aa.sadx 4.528 0.036 0.036 0.091 0.091
## 201 aa.slee ~~ aa.nerv 4.510 0.045 0.045 0.079 0.079
## 311 i.slee2 ~~ i.lone2 4.508 -0.023 -0.023 -0.082 -0.082
## 89 aa_HAN =~ aa.slee 4.410 -0.253 -0.222 -0.215 -0.215
## 296 aa.unha ~~ i.lone2 4.327 0.024 0.024 0.083 0.083
## 303 i.slug2 ~~ i.sadx2 4.114 -0.015 -0.015 -0.086 -0.086
## 207 aa.slee ~~ i.dull2 4.111 0.027 0.027 0.080 0.080
## 129 ia =~ i.dull2 4.018 0.411 0.178 0.276 0.276
## 279 aa.lone ~~ aa.unha 3.941 -0.042 -0.042 -0.091 -0.091
## 137 i_LAN =~ aa.slee 3.936 0.137 0.068 0.065 0.065
## 339 aa ~~ i_NEG 3.892 0.020 0.148 0.148 0.148
## 355 i_LAN ~~ i_HAN 3.892 -0.022 -0.596 -0.596 -0.596
## 354 ia ~~ i_NEG 3.892 0.029 0.356 0.356 0.356
## 176 i_NEG =~ i.slee2 3.838 -0.268 -0.119 -0.150 -0.150
## 186 aa.slug ~~ aa.sadx 3.737 -0.034 -0.034 -0.087 -0.087
## 205 aa.slee ~~ i.slug2 3.722 0.028 0.028 0.076 0.076
## 208 aa.slee ~~ i.fear2 3.635 -0.023 -0.023 -0.072 -0.072
## 199 aa.slee ~~ aa.fear 3.560 -0.040 -0.040 -0.076 -0.076
## 165 i_HAN =~ i.unha2 3.367 -0.254 -0.090 -0.149 -0.149
## 325 i.host2 ~~ i.sadx2 3.362 0.012 0.012 0.071 0.071
## 332 i.sadx2 ~~ i.unha2 3.348 0.016 0.016 0.112 0.112
## 70 aa =~ i.sadx2 3.312 0.043 0.032 0.054 0.054
## 181 aa.slug ~~ aa.slee 3.103 0.048 0.048 0.081 0.081
## 194 aa.slug ~~ i.nerv2 3.000 0.027 0.027 0.069 0.069
## 282 aa.lone ~~ i.dull2 2.948 -0.022 -0.022 -0.067 -0.067
## 288 aa.lone ~~ i.unha2 2.938 0.019 0.019 0.069 0.069
## 104 aa_NEG =~ aa.slee 2.926 -0.138 -0.123 -0.119 -0.119
## 263 aa.nerv ~~ i.host2 2.883 0.020 0.020 0.061 0.061
## 344 aa_LAN ~~ i_NEG 2.797 0.015 0.207 0.207 0.207
## 260 aa.nerv ~~ i.slee2 2.696 0.027 0.027 0.061 0.061
## 100 aa_HAN =~ i.sadx2 2.518 0.031 0.028 0.047 0.047
## 298 i.slug2 ~~ i.slee2 2.461 0.021 0.021 0.076 0.076
## 283 aa.lone ~~ i.fear2 2.454 0.019 0.019 0.059 0.059
## 259 aa.nerv ~~ i.slug2 2.450 0.021 0.021 0.060 0.060
## 111 aa_NEG =~ i.dull2 2.430 -0.033 -0.030 -0.046 -0.046
## 106 aa_NEG =~ aa.fear 2.334 -0.190 -0.168 -0.152 -0.152
## 289 aa.unha ~~ i.slug2 2.279 0.018 0.018 0.062 0.062
## 246 aa.host ~~ aa.unha 2.255 0.028 0.028 0.062 0.062
## 172 i_NEG =~ aa.sadx 2.240 0.089 0.039 0.038 0.038
## 78 aa_LAN =~ aa.unha 2.205 -0.111 -0.092 -0.087 -0.087
## 319 i.fear2 ~~ i.host2 2.144 0.011 0.011 0.060 0.060
## 204 aa.slee ~~ aa.unha 2.132 -0.027 -0.027 -0.058 -0.058
## 196 aa.slug ~~ i.lone2 2.129 -0.021 -0.021 -0.057 -0.057
## 86 aa_LAN =~ i.lone2 2.091 -0.035 -0.029 -0.044 -0.044
## 162 i_HAN =~ i.dull2 2.082 -0.222 -0.079 -0.123 -0.123
## 238 aa.fear ~~ i.host2 2.055 0.017 0.017 0.055 0.055
## lavaan 0.6.15 ended normally after 142 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 68
##
## Used Total
## Number of observations 964 997
##
## Model Test User Model:
##
## Test statistic 124.172
## Degrees of freedom 103
## P-value (Chi-square) 0.076
##
## Model Test Baseline Model:
##
## Test statistic 7538.217
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.997
## Tucker-Lewis Index (TLI) 0.996
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -17501.383
## Loglikelihood unrestricted model (H1) -17439.297
##
## Akaike (AIC) 35138.766
## Bayesian (BIC) 35470.000
## Sample-size adjusted Bayesian (SABIC) 35254.033
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.015
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.023
## P-value H_0: RMSEA <= 0.050 1.000
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.018
##
## 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
## aa =~
## aa_LAN 1.000 0.875 0.875
## aa_HAN 1.183 0.062 19.041 0.000 0.974 0.974
## aa_NEG 1.085 0.055 19.727 0.000 0.973 0.973
## aa.lone 3.789 5.789 0.655 0.513 2.755 2.462
## aa_LAN =~
## aa.slug 1.000 0.831 0.734
## aa.slee 0.820 0.044 18.534 0.000 0.681 0.659
## aa.dull 0.911 0.045 20.455 0.000 0.757 0.741
## aa.lone -0.545 0.722 -0.755 0.450 -0.453 -0.405
## aa_HAN =~
## aa.fear 1.000 0.883 0.795
## aa.host 0.928 0.040 23.217 0.000 0.819 0.740
## aa.nerv 0.775 0.036 21.247 0.000 0.685 0.685
## aa.lone -2.352 3.557 -0.661 0.508 -2.077 -1.856
## aa_NEG =~
## aa.sadx 1.000 0.811 0.791
## aa.lone 0.693 0.789 0.878 0.380 0.561 0.502
## aa.unha 0.974 0.032 30.502 0.000 0.789 0.742
## ia =~
## i_LAN 1.000 0.881 0.881
## i_HAN 1.194 0.188 6.359 0.000 0.958 0.958
## i_NEG 1.091 0.116 9.408 0.000 0.884 0.884
## i_LAN =~
## i.slug2 1.000 0.504 0.742
## i.slee2 1.085 0.059 18.305 0.000 0.547 0.684
## i.dull2 0.699 0.090 7.811 0.000 0.353 0.547
## i.sadx2 -0.233 0.098 -2.386 0.017 -0.117 -0.200
## i.fear2 -0.428 0.173 -2.474 0.013 -0.216 -0.393
## i_HAN =~
## i.fear2 1.000 0.554 1.008
## i.host2 0.482 0.082 5.858 0.000 0.267 0.507
## i.nerv2 0.789 0.131 6.036 0.000 0.437 0.643
## i_NEG =~
## i.sadx2 1.000 0.548 0.933
## i.lone2 0.838 0.082 10.279 0.000 0.459 0.690
## i.unha2 0.860 0.083 10.319 0.000 0.472 0.777
## i.dull2 0.228 0.078 2.925 0.003 0.125 0.194
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa ~~
## ia -0.135 0.015 -8.862 0.000 -0.417 -0.417
## .aa_NEG ~~
## .i_NEG -0.035 0.010 -3.586 0.000 -0.729 -0.729
## .aa_HAN ~~
## .i_HAN -0.010 0.007 -1.454 0.146 -0.324 -0.324
## .aa_LAN ~~
## .i_LAN -0.018 0.010 -1.809 0.070 -0.187 -0.187
## .aa.nerv ~~
## .i.nerv2 -0.083 0.014 -5.735 0.000 -0.083 -0.219
## .i.host2 ~~
## .i.unha2 -0.030 0.006 -4.692 0.000 -0.030 -0.174
## .aa.host ~~
## .i.host2 -0.056 0.013 -4.426 0.000 -0.056 -0.166
## .aa.lone ~~
## .i.lone2 -0.046 0.014 -3.274 0.001 -0.046 -0.215
## .aa.unha ~~
## .i.unha2 -0.046 0.010 -4.702 0.000 -0.046 -0.167
## .aa.sadx ~~
## .aa.unha 0.156 0.139 1.121 0.262 0.156 0.348
## .aa.slug ~~
## .i.slug2 -0.060 0.015 -4.014 0.000 -0.060 -0.172
## .aa.slee ~~
## .i.slee2 -0.057 0.018 -3.188 0.001 -0.057 -0.127
## .aa.lone ~~
## .i.slee2 0.059 0.018 3.301 0.001 0.059 0.231
## .aa.host ~~
## .aa.nerv -0.077 0.022 -3.543 0.000 -0.077 -0.143
## .i.dull2 ~~
## .i.unha2 0.012 0.008 1.646 0.100 0.012 0.072
## .aa.host ~~
## .i.nerv2 0.026 0.015 1.799 0.072 0.026 0.069
## .i.sadx2 ~~
## .i.fear2 0.012 0.008 1.503 0.133 0.012 0.082
## .aa.lone ~~
## .aa.dull 0.059 0.023 2.590 0.010 0.059 0.195
## .i.dull2 ~~
## .i.fear2 -0.014 0.008 -1.830 0.067 -0.014 -0.078
## .aa.dull ~~
## .i.slee2 0.044 0.017 2.637 0.008 0.044 0.109
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.lone 0.194 0.913 0.212 0.832 0.194 0.155
## .aa.slug 0.591 0.036 16.516 0.000 0.591 0.461
## .aa.slee 0.606 0.033 18.452 0.000 0.606 0.566
## .aa.dull 0.470 0.029 16.238 0.000 0.470 0.451
## .aa.fear 0.453 0.028 16.280 0.000 0.453 0.367
## .aa.host 0.554 0.032 17.080 0.000 0.554 0.452
## .aa.nerv 0.529 0.029 18.262 0.000 0.529 0.530
## .aa.sadx 0.393 0.143 2.750 0.006 0.393 0.374
## .aa.unha 0.507 0.137 3.712 0.000 0.507 0.449
## .i.slug2 0.208 0.014 14.566 0.000 0.208 0.450
## .i.slee2 0.340 0.020 16.755 0.000 0.340 0.532
## .i.dull2 0.207 0.012 16.931 0.000 0.207 0.498
## .i.sadx2 0.131 0.012 10.892 0.000 0.131 0.380
## .i.fear2 0.150 0.016 9.458 0.000 0.150 0.498
## .i.host2 0.206 0.010 20.070 0.000 0.206 0.743
## .i.nerv2 0.270 0.015 17.968 0.000 0.270 0.586
## .i.lone2 0.232 0.013 18.295 0.000 0.232 0.523
## .i.unha2 0.146 0.010 14.757 0.000 0.146 0.396
## aa 0.529 0.049 10.693 0.000 1.000 1.000
## .aa_LAN 0.162 0.025 6.355 0.000 0.234 0.234
## .aa_HAN 0.039 0.023 1.703 0.089 0.050 0.050
## .aa_NEG 0.035 0.144 0.243 0.808 0.053 0.053
## ia 0.197 0.019 10.262 0.000 1.000 1.000
## .i_LAN 0.057 0.012 4.662 0.000 0.223 0.223
## .i_HAN 0.025 0.012 2.122 0.034 0.081 0.081
## .i_NEG 0.066 0.012 5.446 0.000 0.218 0.218
## lavaan 0.6.15 ended normally after 81 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 69
##
## Used Total
## Number of observations 964 997
##
## Model Test User Model:
##
## Test statistic 116.896
## Degrees of freedom 102
## P-value (Chi-square) 0.149
##
## Model Test Baseline Model:
##
## Test statistic 7538.217
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.998
## Tucker-Lewis Index (TLI) 0.997
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -17497.745
## Loglikelihood unrestricted model (H1) -17439.297
##
## Akaike (AIC) 35133.490
## Bayesian (BIC) 35469.595
## Sample-size adjusted Bayesian (SABIC) 35250.453
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.012
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.022
## P-value H_0: RMSEA <= 0.050 1.000
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.019
##
## 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
## aa =~
## aa_LAN 1.000 0.870 0.870
## aa_HAN 1.199 0.063 19.139 0.000 0.977 0.977
## aa_NEG 1.095 0.056 19.723 0.000 0.926 0.926
## aa_LAN =~
## aa.slug 1.000 0.830 0.735
## aa.slee 0.821 0.044 18.520 0.000 0.681 0.659
## aa.dull 0.907 0.044 20.424 0.000 0.753 0.738
## aa_HAN =~
## aa.fear 1.000 0.886 0.799
## aa.host 0.921 0.040 23.170 0.000 0.817 0.738
## aa.nerv 0.773 0.036 21.246 0.000 0.685 0.685
## aa_NEG =~
## aa.sadx 1.000 0.854 0.833
## aa.lone 0.980 0.041 23.940 0.000 0.838 0.748
## aa.unha 0.986 0.032 30.332 0.000 0.842 0.792
## ia =~
## i_LAN 1.000 0.865 0.865
## i_HAN 0.765 0.053 14.420 0.000 0.924 0.924
## i_NEG 0.920 0.059 15.649 0.000 0.889 0.889
## i_LAN =~
## i.slug2 1.000 0.494 0.727
## i.slee2 1.102 0.061 18.209 0.000 0.544 0.680
## i.dull2 0.928 0.050 18.533 0.000 0.458 0.712
## i_HAN =~
## i.fear2 1.000 0.354 0.643
## i.host2 0.772 0.060 12.843 0.000 0.273 0.518
## i.nerv2 1.274 0.080 15.855 0.000 0.451 0.665
## i_NEG =~
## i.sadx2 1.000 0.442 0.753
## i.lone2 1.033 0.052 19.840 0.000 0.457 0.689
## i.unha2 1.084 0.049 22.046 0.000 0.479 0.792
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa ~~
## ia -0.130 0.015 -8.738 0.000 -0.421 -0.421
## .aa_NEG ~~
## .i_NEG -0.024 0.008 -2.862 0.004 -0.361 -0.361
## .aa_HAN ~~
## .i_HAN -0.016 0.008 -2.027 0.043 -0.630 -0.630
## .aa_LAN ~~
## .i_LAN -0.013 0.010 -1.274 0.203 -0.130 -0.130
## .aa.nerv ~~
## .i.nerv2 -0.071 0.015 -4.661 0.000 -0.071 -0.192
## .i.host2 ~~
## .i.unha2 -0.032 0.006 -4.881 0.000 -0.032 -0.190
## .aa.host ~~
## .i.host2 -0.052 0.013 -3.994 0.000 -0.052 -0.153
## .aa.lone ~~
## .i.lone2 -0.045 0.014 -3.362 0.001 -0.045 -0.128
## .aa.unha ~~
## .i.unha2 -0.041 0.011 -3.662 0.000 -0.041 -0.170
## .aa.sadx ~~
## .aa.unha 0.077 0.023 3.336 0.001 0.077 0.208
## .aa.slug ~~
## .i.slug2 -0.061 0.015 -4.083 0.000 -0.061 -0.171
## .aa.slee ~~
## .i.slee2 -0.059 0.018 -3.284 0.001 -0.059 -0.129
## .aa.lone ~~
## .i.slee2 0.058 0.017 3.509 0.000 0.058 0.134
## .aa.host ~~
## .aa.nerv -0.073 0.022 -3.293 0.001 -0.073 -0.133
## .i.dull2 ~~
## .i.unha2 0.029 0.008 3.809 0.000 0.029 0.174
## .aa.host ~~
## .i.nerv2 0.030 0.015 1.924 0.054 0.030 0.079
## .i.fear2 ~~
## .i.sadx2 0.021 0.007 3.079 0.002 0.021 0.127
## .aa.dull ~~
## .aa.lone 0.053 0.021 2.550 0.011 0.053 0.103
## .i.dull2 ~~
## .i.fear2 -0.018 0.007 -2.458 0.014 -0.018 -0.095
## .aa.dull ~~
## .i.slee2 0.033 0.017 1.942 0.052 0.033 0.082
## .i.slug2 ~~
## .i.host2 0.013 0.008 1.633 0.102 0.013 0.063
## .aa.nerv ~~
## .i.fear2 0.020 0.012 1.678 0.093 0.020 0.065
## .aa.dull ~~
## .i.dull2 -0.023 0.013 -1.792 0.073 -0.023 -0.074
## .aa.sadx ~~
## .i.unha2 0.001 0.011 0.128 0.898 0.001 0.007
## .i.sadx2 -0.021 0.009 -2.173 0.030 -0.021 -0.093
## .aa.fear ~~
## .aa.unha -0.035 0.017 -2.014 0.044 -0.035 -0.081
## .i.dull2 ~~
## .i.lone2 0.032 0.009 3.630 0.000 0.032 0.148
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.588 0.036 16.441 0.000 0.588 0.460
## .aa.slee 0.605 0.033 18.417 0.000 0.605 0.566
## .aa.dull 0.474 0.029 16.298 0.000 0.474 0.455
## .aa.fear 0.446 0.028 15.997 0.000 0.446 0.362
## .aa.host 0.558 0.033 17.156 0.000 0.558 0.455
## .aa.nerv 0.530 0.029 18.269 0.000 0.530 0.531
## .aa.sadx 0.323 0.026 12.432 0.000 0.323 0.307
## .aa.lone 0.551 0.031 17.588 0.000 0.551 0.440
## .aa.unha 0.421 0.031 13.815 0.000 0.421 0.373
## .i.slug2 0.218 0.014 15.707 0.000 0.218 0.471
## .i.slee2 0.344 0.020 17.211 0.000 0.344 0.537
## .i.dull2 0.204 0.013 16.050 0.000 0.204 0.493
## .i.fear2 0.178 0.010 17.224 0.000 0.178 0.587
## .i.host2 0.203 0.010 19.438 0.000 0.203 0.731
## .i.nerv2 0.256 0.015 16.598 0.000 0.256 0.557
## .i.sadx2 0.150 0.009 16.089 0.000 0.150 0.433
## .i.lone2 0.231 0.013 18.030 0.000 0.231 0.525
## .i.unha2 0.137 0.010 14.188 0.000 0.137 0.373
## aa 0.522 0.049 10.698 0.000 1.000 1.000
## .aa_LAN 0.168 0.025 6.674 0.000 0.243 0.243
## .aa_HAN 0.036 0.024 1.485 0.138 0.046 0.046
## .aa_NEG 0.105 0.024 4.413 0.000 0.143 0.143
## ia 0.183 0.018 9.918 0.000 1.000 1.000
## .i_LAN 0.061 0.011 5.772 0.000 0.252 0.252
## .i_HAN 0.018 0.006 2.845 0.004 0.147 0.147
## .i_NEG 0.041 0.008 5.320 0.000 0.209 0.209
These were the two models computed based on the modification indices.
compareFit(model3.0b, model3.0c) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model3.0c 102 35133 35470 116.90
## model3.0b 103 35139 35470 124.17 7.2758 0.080686 1 0.006989 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model3.0c 116.896† 102 .149 .012† 0.998† 0.997† .019 35133.490† 35469.595†
## model3.0b 124.172 103 .076 .015 0.997 0.996 .018† 35138.766 35470.000
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model3.0b - model3.0c 1 0.002 -0.001 -0.001 -0.001 5.276 0.405
Based on the model fit indices, model3.0c was significantly better (Δchi-square = 7.28, p = .007). Hence, we’ll be using that model. Here is the model, diagrammatically:
Looking at only the latent variables:
Now, we examine to see if the one factor model (whereby the covariance between aa and ia are set to -1) or the two factor model (as above) fits the data better. Based on the results, the two factor model fit better (Δchi-square = 482.25, p < .001).
compareFit(model3.0c, model3.0c1) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model3.0c 102 35133 35470 116.90
## model3.0c1 103 35614 35945 599.15 482.25 0.70656 1 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model3.0c 116.896† 102 .149 .012† 0.998† 0.997† .019† 35133.490† 35469.595†
## model3.0c1 599.149 103 .000 .071 .933 .900 .618 35613.743 35944.977
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model3.0c1 - model3.0c 1 0.058 -0.065 -0.097 0.599 480.253 475.382
Moving on, let’s see if the relationship of ideal and avoided affect of opposing quadrants. i.e., here we ask the question of whether avoided LAN simply reflects ideal HAP.
# compare models
compareFit(model4.0, model4.1, model4.2) %>% summary()
## Warning in (function (object, ..., method = "default", A.method = "delta", :
## lavaan WARNING: some models have the same degrees of freedom
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model4.0 8 15209 15272 12.915
## model4.1 9 15240 15299 46.287 33.37 0.18184 1 7.609e-09 ***
## model4.2 9 15602 15661 408.537 362.25 0.00000 0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model4.0 12.915† 8 .115 .025† 0.996† .993† .023† 15208.652† 15272.177†
## model4.1 46.287 9 .000 .065 .971 .952 .081 15240.024 15298.663
## model4.2 408.537 9 .000 .213 .694 .490 .579 15602.274 15660.913
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model4.1 - model4.0 1 0.040 -0.025 -0.041 0.057 31.373 26.486
## model4.2 - model4.1 0 0.148 -0.278 -0.463 0.499 362.250 362.250
From the three models estimated, the model with the estimated covariation between iHAN and aaHAN (model4.0) fit the data best. Additionally, the chi-squared statistic was also non-significant for model 4.0. Hence, no modification was needed. Here is the final model:
Moving on, let’s see if the relationship of ideal and avoided affect of opposing quadrants. i.e., here we ask the question of whether avoided HAN simply reflects ideal LAP.
# compare models
compareFit(model5.0, model5.1, model5.2) %>% summary()
## Warning in (function (object, ..., method = "default", A.method = "delta", :
## lavaan WARNING: some models have the same degrees of freedom
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model5.0 8 15028 15092 16.816
## model5.1 9 15084 15143 74.668 57.852 0.24049 1 2.826e-14 ***
## model5.2 9 15339 15397 328.984 254.316 0.00000 0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model5.0 16.816† 8 .032 .033† .994† .988† .023† 15028.464† 15092.042†
## model5.1 74.668 9 .000 .086 .953 .921 .108 15084.317 15143.004
## model5.2 328.984 9 .000 .190 .770 .617 .514 15338.632 15397.320
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model5.1 - model5.0 1 0.053 -0.041 -0.067 0.085 55.852 50.961
## model5.2 - model5.1 0 0.104 -0.183 -0.304 0.406 254.316 254.316
From the three models estimated, the model with the estimated covariation between iLAP and aaHAN (model5.0) fit the data best.
modificationIndices(model5.0, sort = TRUE, minimum.value = 5)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 16 aa_HAN =~ i.peac2 7.401 -0.094 -0.089 -0.102 -0.102
## 36 i.calm2 ~~ i.rela2 7.401 -0.130 -0.130 -0.281 -0.281
## 33 aa.nerv ~~ i.rela2 5.615 0.047 0.047 0.090 0.090
# model 5.0a: latent covariance modelled with item covariances
fullsample_sem5.0a <- '
# latent variables; paths = 6
aa_HAN =~ aa.fear + aa.host + aa.nerv
i_LAP =~ i.peac2 + i.calm2 + i.rela2
# latent variable covariance; paths = 1
i_LAP ~~ aa_HAN
# item covariances
i.calm2 ~~ i.rela2
'
model5.0a <- sem(fullsample_sem5.0a, data = data)
summary(model5.0a, standardized = TRUE , fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 31 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 14
##
## Used Total
## Number of observations 983 997
##
## Model Test User Model:
##
## Test statistic 9.187
## Degrees of freedom 7
## P-value (Chi-square) 0.239
##
## Model Test Baseline Model:
##
## Test statistic 1407.245
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.998
## Tucker-Lewis Index (TLI) 0.997
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -7497.418
## Loglikelihood unrestricted model (H1) -7492.824
##
## Akaike (AIC) 15022.835
## Bayesian (BIC) 15091.304
## Sample-size adjusted Bayesian (SABIC) 15046.840
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.018
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.046
## P-value H_0: RMSEA <= 0.050 0.976
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.014
##
## 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
## aa_HAN =~
## aa.fear 1.000 0.944 0.849
## aa.host 0.833 0.047 17.672 0.000 0.786 0.706
## aa.nerv 0.680 0.040 16.850 0.000 0.642 0.640
## i_LAP =~
## i.peac2 1.000 0.512 0.591
## i.calm2 1.402 0.238 5.881 0.000 0.717 0.797
## i.rela2 1.272 0.218 5.828 0.000 0.651 0.751
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_HAN ~~
## i_LAP 0.146 0.029 4.954 0.000 0.303 0.303
## .i.calm2 ~~
## .i.rela2 -0.161 0.076 -2.118 0.034 -0.161 -0.518
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.fear 0.345 0.044 7.823 0.000 0.345 0.279
## .aa.host 0.621 0.040 15.407 0.000 0.621 0.501
## .aa.nerv 0.594 0.033 17.871 0.000 0.594 0.590
## .i.peac2 0.489 0.048 10.258 0.000 0.489 0.651
## .i.calm2 0.296 0.088 3.348 0.001 0.296 0.365
## .i.rela2 0.328 0.075 4.374 0.000 0.328 0.436
## aa_HAN 0.891 0.068 13.183 0.000 1.000 1.000
## i_LAP 0.262 0.049 5.294 0.000 1.000 1.000
Modelling the item covariance between
made the chi square statistic of the model non-significant. Hence, here is the final model:
When modelling the four quadrants and the two neutral valence affect, the model has 18*(18+1)/2 = 171 number of unique pieces of information.
From the three models estimated, the model with the estimated covariation between an and ip (model6.0) fit the data best. Now, let’s see if modelling the individual covariances between avoided NEG, HAN, and LAN, and ideal POS, HAP, and HAP respectively significantly improves the fit.
compareFit(model6.0, model6.0a) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model6.0a 125 41330 41554 331.06
## model6.0 128 41327 41537 334.17 3.1062 0.0060839 3 0.3755
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model6.0a 331.061† 125 .000 .042 .970† .964 .032 41330.392 41554.079
## model6.0 334.167 128 .000 .041† .970 .964† .032† 41327.498† 41536.597†
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model6.0 - model6.0a 3 0 0 0.001 0 -2.894 -17.482
Comparing the two models, model6.0a did not fit the data better (Δchi-square = 3.11, p = .376). So we’ll see the modification indices for model 6.0 instead. Initially, I used all the modification indices, regardless of whether it modified the factor loadings on latent variables. However, the model failed to identify before the model fit was acceptable (based on chi-square).
However, after editing the model based on modification indices only for item covariances (no changes to latent; Model 6.0b), the model fit also failed to be acceptable (based on chi-square) before the model failed to identify. Nonetheless, the CFI, TLI, RMSEA, and SRMR were good (CFI = .991, TLI = .988, RMSEA = 0.024, SRMR = 0.023).
It is also noteworthy that the original model without editing based on modification indices were also acceptable (CFI = .970, TLI = .964, RMSEA = 0.041, SRMR = 0.032), but the modified model was significantly better than the original model (Δchi-square = 156.21, p < .001).
modificationindices(model6.0, sort = TRUE, minimum.value = 2)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 295 i.peac2 ~~ i.calm2 39.349 0.141 0.141 0.295 0.295
## 126 ip =~ i.rela2 39.348 1.360 0.602 0.693 0.693
## 160 i_HAP =~ i.happ2 33.849 0.425 0.222 0.275 0.275
## 330 i.sati2 ~~ i.cont2 31.898 0.137 0.137 0.406 0.406
## 130 ip =~ i.happ2 31.898 2.212 0.980 1.213 1.213
## 174 i_POS =~ i.rela2 31.246 0.724 0.414 0.476 0.476
## 158 i_HAP =~ i.calm2 18.400 -0.356 -0.186 -0.206 -0.206
## 159 i_HAP =~ i.rela2 17.508 0.350 0.183 0.210 0.210
## 59 an =~ aa.lone 16.864 0.649 0.481 0.429 0.429
## 266 aa.sadx ~~ aa.unha 16.864 0.095 0.095 0.306 0.306
## 89 aa_HAN =~ aa.lone 15.486 0.461 0.410 0.365 0.365
## 240 aa.host ~~ aa.nerv 13.900 -0.086 -0.086 -0.151 -0.151
## 55 an =~ aa.fear 13.892 -5.030 -3.732 -3.343 -3.343
## 275 aa.sadx ~~ i.cont2 13.007 -0.051 -0.051 -0.161 -0.161
## 296 i.peac2 ~~ i.rela2 12.407 -0.092 -0.092 -0.231 -0.231
## 125 ip =~ i.calm2 12.406 -0.641 -0.284 -0.315 -0.315
## 74 aa_LAN =~ aa.lone 11.867 0.288 0.242 0.215 0.215
## 329 i.happ2 ~~ i.cont2 11.518 -0.064 -0.064 -0.179 -0.179
## 131 ip =~ i.sati2 11.518 -1.657 -0.734 -0.808 -0.808
## 161 i_HAP =~ i.sati2 11.319 -0.278 -0.145 -0.160 -0.160
## 215 aa.dull ~~ aa.lone 10.884 0.067 0.067 0.130 0.130
## 312 i.rela2 ~~ i.elat2 10.841 0.066 0.066 0.134 0.134
## 324 i.exci2 ~~ i.cont2 9.987 -0.053 -0.053 -0.145 -0.145
## 112 aa_NEG =~ i.happ2 9.987 0.085 0.076 0.094 0.094
## 173 i_POS =~ i.calm2 8.887 -0.330 -0.188 -0.209 -0.209
## 194 aa.slug ~~ i.cont2 8.350 0.057 0.057 0.118 0.118
## 285 aa.lone ~~ i.cont2 8.022 0.052 0.052 0.111 0.111
## 230 aa.fear ~~ aa.unha 7.570 -0.050 -0.050 -0.122 -0.122
## 326 i.elat2 ~~ i.sati2 7.266 -0.050 -0.050 -0.114 -0.114
## 124 ip =~ i.peac2 7.075 -0.517 -0.229 -0.265 -0.265
## 303 i.calm2 ~~ i.rela2 7.075 -0.064 -0.064 -0.144 -0.144
## 319 i.enth2 ~~ i.sati2 7.027 -0.039 -0.039 -0.115 -0.115
## 232 aa.fear ~~ i.calm2 6.831 0.050 0.050 0.102 0.102
## 143 i_LAP =~ i.exci2 6.717 -0.221 -0.125 -0.141 -0.141
## 226 aa.fear ~~ aa.host 6.690 0.071 0.071 0.138 0.138
## 57 an =~ aa.nerv 6.688 2.411 1.789 1.785 1.785
## 293 aa.unha ~~ i.sati2 6.511 0.037 0.037 0.111 0.111
## 172 i_POS =~ i.peac2 6.382 -0.296 -0.169 -0.196 -0.196
## 90 aa_HAN =~ aa.unha 6.326 -0.303 -0.269 -0.252 -0.252
## 169 i_POS =~ aa.sadx 5.922 -0.105 -0.060 -0.058 -0.058
## 322 i.exci2 ~~ i.happ2 5.792 0.035 0.035 0.105 0.105
## 313 i.rela2 ~~ i.happ2 5.759 0.035 0.035 0.101 0.101
## 265 aa.sadx ~~ aa.lone 5.670 -0.051 -0.051 -0.130 -0.130
## 60 an =~ aa.unha 5.670 -0.389 -0.288 -0.270 -0.270
## 103 aa_NEG =~ aa.fear 5.662 -0.327 -0.292 -0.262 -0.262
## 86 aa_HAN =~ aa.slee 5.539 -0.316 -0.281 -0.271 -0.271
## 305 i.calm2 ~~ i.exci2 5.246 -0.042 -0.042 -0.097 -0.097
## 53 an =~ aa.slee 5.229 -0.404 -0.300 -0.289 -0.289
## 179 aa.slug ~~ aa.dull 5.228 -0.068 -0.068 -0.128 -0.128
## 102 aa_NEG =~ aa.dull 5.158 0.205 0.183 0.179 0.179
## 306 i.calm2 ~~ i.elat2 5.123 -0.050 -0.050 -0.085 -0.085
## 254 aa.nerv ~~ aa.lone 4.923 0.046 0.046 0.083 0.083
## 346 aa_HAN ~~ i_HAP 4.892 -0.024 -0.371 -0.371 -0.371
## 259 aa.nerv ~~ i.enth2 4.807 -0.038 -0.038 -0.082 -0.082
## 178 aa.slug ~~ aa.slee 4.737 0.060 0.060 0.100 0.100
## 54 an =~ aa.dull 4.737 0.439 0.326 0.318 0.318
## 284 aa.lone ~~ i.sati2 4.648 -0.036 -0.036 -0.089 -0.089
## 171 i_POS =~ aa.unha 4.610 0.102 0.058 0.054 0.054
## 142 i_LAP =~ i.enth2 4.579 0.155 0.087 0.106 0.106
## 132 ip =~ i.cont2 4.565 -1.043 -0.462 -0.482 -0.482
## 328 i.happ2 ~~ i.sati2 4.565 -0.040 -0.040 -0.129 -0.129
## 199 aa.slee ~~ aa.sadx 4.378 0.036 0.036 0.090 0.090
## 170 i_POS =~ aa.lone 4.305 0.115 0.065 0.058 0.058
## 67 an =~ i.happ2 4.204 0.069 0.051 0.063 0.063
## 121 ip =~ aa.sadx 4.198 -0.121 -0.054 -0.052 -0.052
## 278 aa.lone ~~ i.calm2 4.143 -0.042 -0.042 -0.075 -0.075
## 252 aa.host ~~ i.cont2 4.103 0.038 0.038 0.080 0.080
## 350 aa_NEG ~~ i_HAP 4.100 0.022 0.148 0.148 0.148
## 183 aa.slug ~~ aa.sadx 4.099 -0.036 -0.036 -0.092 -0.092
## 87 aa_HAN =~ aa.dull 4.090 0.308 0.274 0.268 0.268
## 106 aa_NEG =~ i.peac2 4.018 -0.062 -0.055 -0.064 -0.064
## 260 aa.nerv ~~ i.exci2 4.010 0.036 0.036 0.083 0.083
## 145 i_LAP =~ i.happ2 3.983 0.172 0.097 0.121 0.121
## 156 i_HAP =~ aa.unha 3.972 0.104 0.054 0.051 0.051
## 198 aa.slee ~~ aa.nerv 3.945 0.043 0.043 0.074 0.074
## 283 aa.lone ~~ i.happ2 3.927 0.032 0.032 0.075 0.075
## 79 aa_LAN =~ i.enth2 3.913 0.063 0.052 0.064 0.064
## 196 aa.slee ~~ aa.fear 3.902 -0.042 -0.042 -0.081 -0.081
## 287 aa.unha ~~ i.calm2 3.893 -0.034 -0.034 -0.077 -0.077
## 325 i.elat2 ~~ i.happ2 3.879 0.035 0.035 0.076 0.076
## 97 aa_HAN =~ i.happ2 3.727 0.054 0.048 0.059 0.059
## 162 i_HAP =~ i.cont2 3.718 -0.167 -0.087 -0.091 -0.091
## 123 ip =~ aa.unha 3.691 0.124 0.055 0.051 0.051
## 122 ip =~ aa.lone 3.689 0.145 0.064 0.057 0.057
## 81 aa_LAN =~ i.elat2 3.509 -0.074 -0.062 -0.061 -0.061
## 248 aa.host ~~ i.exci2 3.471 -0.035 -0.035 -0.078 -0.078
## 220 aa.dull ~~ i.enth2 3.454 0.032 0.032 0.074 0.074
## 152 i_HAP =~ aa.host 3.432 -0.117 -0.061 -0.055 -0.055
## 297 i.peac2 ~~ i.enth2 3.370 0.030 0.030 0.073 0.073
## 318 i.enth2 ~~ i.happ2 3.367 0.026 0.026 0.072 0.072
## 269 aa.sadx ~~ i.rela2 3.337 0.026 0.026 0.083 0.083
## 61 an =~ i.peac2 3.265 -0.069 -0.051 -0.059 -0.059
## 308 i.calm2 ~~ i.sati2 3.188 -0.030 -0.030 -0.076 -0.076
## 91 aa_HAN =~ i.peac2 3.120 -0.056 -0.050 -0.058 -0.058
## 96 aa_HAN =~ i.elat2 3.106 -0.065 -0.058 -0.057 -0.057
## 191 aa.slug ~~ i.elat2 3.088 -0.042 -0.042 -0.068 -0.068
## 292 aa.unha ~~ i.happ2 3.058 0.024 0.024 0.070 0.070
## 309 i.calm2 ~~ i.cont2 2.995 0.032 0.032 0.070 0.070
## 294 aa.unha ~~ i.cont2 2.954 -0.027 -0.027 -0.072 -0.072
## 244 aa.host ~~ i.peac2 2.950 0.033 0.033 0.066 0.066
## 66 an =~ i.elat2 2.950 -0.076 -0.056 -0.056 -0.056
## 201 aa.slee ~~ aa.unha 2.928 -0.032 -0.032 -0.068 -0.068
## 75 aa_LAN =~ aa.unha 2.860 -0.136 -0.114 -0.107 -0.107
## 108 aa_NEG =~ i.rela2 2.758 0.051 0.045 0.052 0.052
## 58 an =~ aa.sadx 2.742 -0.281 -0.208 -0.202 -0.202
## 276 aa.lone ~~ aa.unha 2.741 -0.035 -0.035 -0.077 -0.077
## 73 aa_LAN =~ aa.sadx 2.733 -0.132 -0.110 -0.107 -0.107
## 251 aa.host ~~ i.sati2 2.720 -0.028 -0.028 -0.068 -0.068
## 345 aa_HAN ~~ i_LAP 2.663 0.019 0.315 0.315 0.315
## 321 i.exci2 ~~ i.elat2 2.523 0.051 0.051 0.108 0.108
## 127 ip =~ i.enth2 2.523 0.192 0.085 0.104 0.104
## 256 aa.nerv ~~ i.peac2 2.497 -0.029 -0.029 -0.060 -0.060
## 128 ip =~ i.exci2 2.457 -0.240 -0.106 -0.120 -0.120
## 317 i.enth2 ~~ i.elat2 2.457 -0.040 -0.040 -0.078 -0.078
## 155 i_HAP =~ aa.lone 2.329 0.094 0.049 0.043 0.043
## 76 aa_LAN =~ i.peac2 2.314 -0.052 -0.043 -0.050 -0.050
## 101 aa_NEG =~ aa.slee 2.313 -0.130 -0.116 -0.112 -0.112
## 243 aa.host ~~ aa.unha 2.207 0.028 0.028 0.061 0.061
## 83 aa_LAN =~ i.sati2 2.184 -0.047 -0.039 -0.043 -0.043
## 114 aa_NEG =~ i.cont2 2.139 -0.045 -0.040 -0.042 -0.042
## 64 an =~ i.enth2 2.137 0.052 0.038 0.047 0.047
## 72 aa_LAN =~ aa.nerv 2.108 0.175 0.146 0.146 0.146
## 105 aa_NEG =~ aa.nerv 2.085 0.166 0.148 0.148 0.148
## 68 an =~ i.sati2 2.075 -0.052 -0.039 -0.042 -0.042
## 197 aa.slee ~~ aa.host 2.036 -0.032 -0.032 -0.055 -0.055
fullsample_sem6.0b <- '
# latent variables; paths = 24
an =~ aa_LAN + aa_HAN + aa_NEG
aa_LAN =~ aa.slug + aa.slee + aa.dull
aa_HAN =~ aa.fear + aa.host + aa.nerv
aa_NEG =~ aa.sadx + aa.lone + aa.unha
ip =~ i_LAP + i_HAP + i_POS
i_LAP =~ i.peac2 + i.calm2 + i.rela2
i_HAP =~ i.enth2 + i.exci2 + i.elat2
i_POS =~ i.happ2 + i.sati2 + i.cont2
# latent variable covariance; paths = 1
an ~~ ip
# item covariances
i.peac2 ~~ i.calm2
i.sati2 ~~ i.cont2
aa.sadx ~~ aa.unha
aa.host ~~ aa.nerv
aa.sadx ~~ i.cont2
i.peac2 ~~ i.rela2
i.happ2 ~~ i.cont2
aa.dull ~~ aa.lone
i.rela2 ~~ i.elat2
i.exci2 ~~ i.cont2
aa.slug ~~ i.cont2
aa.lone ~~ i.cont2
aa.fear ~~ aa.unha
i.elat2 ~~ i.sati2
'
model6.0b <- sem(fullsample_sem6.0b, data = data)
summary(model6.0b, standardized = TRUE , fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 54 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 57
##
## Used Total
## Number of observations 956 997
##
## Model Test User Model:
##
## Test statistic 177.957
## Degrees of freedom 114
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 7073.897
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.991
## Tucker-Lewis Index (TLI) 0.988
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -20542.644
## Loglikelihood unrestricted model (H1) -20453.666
##
## Akaike (AIC) 41199.288
## Bayesian (BIC) 41476.465
## Sample-size adjusted Bayesian (SABIC) 41295.435
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.024
## 90 Percent confidence interval - lower 0.017
## 90 Percent confidence interval - upper 0.031
## P-value H_0: RMSEA <= 0.050 1.000
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.023
##
## 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
## an =~
## aa_LAN 1.000 0.879 0.879
## aa_HAN 1.177 0.061 19.285 0.000 0.973 0.973
## aa_NEG 1.083 0.054 19.918 0.000 0.929 0.929
## aa_LAN =~
## aa.slug 1.000 0.838 0.737
## aa.slee 0.822 0.044 18.651 0.000 0.689 0.666
## aa.dull 0.907 0.044 20.572 0.000 0.761 0.742
## aa_HAN =~
## aa.fear 1.000 0.892 0.799
## aa.host 0.918 0.040 22.904 0.000 0.818 0.738
## aa.nerv 0.777 0.037 21.189 0.000 0.693 0.692
## aa_NEG =~
## aa.sadx 1.000 0.860 0.836
## aa.lone 0.976 0.041 23.764 0.000 0.839 0.748
## aa.unha 0.988 0.033 30.016 0.000 0.849 0.796
## ip =~
## i_LAP 1.000 0.772 0.772
## i_HAP 0.906 0.088 10.296 0.000 0.703 0.703
## i_POS 1.509 0.135 11.179 0.000 0.989 0.989
## i_LAP =~
## i.peac2 1.000 0.519 0.601
## i.calm2 0.880 0.079 11.194 0.000 0.456 0.507
## i.rela2 1.281 0.097 13.190 0.000 0.665 0.765
## i_HAP =~
## i.enth2 1.000 0.516 0.630
## i.exci2 1.296 0.085 15.209 0.000 0.669 0.755
## i.elat2 1.162 0.084 13.877 0.000 0.600 0.596
## i_POS =~
## i.happ2 1.000 0.611 0.757
## i.sati2 1.085 0.059 18.310 0.000 0.663 0.730
## i.cont2 1.101 0.065 16.840 0.000 0.673 0.705
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## an ~~
## ip 0.122 0.016 7.714 0.000 0.412 0.412
## .i.peac2 ~~
## .i.calm2 0.126 0.025 5.026 0.000 0.126 0.235
## .i.sati2 ~~
## .i.cont2 0.107 0.026 4.108 0.000 0.107 0.254
## .aa.sadx ~~
## .aa.unha 0.070 0.023 2.991 0.003 0.070 0.191
## .aa.host ~~
## .aa.nerv -0.080 0.022 -3.588 0.000 -0.080 -0.149
## .aa.sadx ~~
## .i.cont2 -0.030 0.014 -2.112 0.035 -0.030 -0.079
## .i.peac2 ~~
## .i.rela2 -0.019 0.028 -0.668 0.504 -0.019 -0.049
## .i.happ2 ~~
## .i.cont2 -0.024 0.020 -1.205 0.228 -0.024 -0.067
## .aa.dull ~~
## .aa.lone 0.057 0.021 2.730 0.006 0.057 0.111
## .i.rela2 ~~
## .i.elat2 0.057 0.020 2.797 0.005 0.057 0.126
## .i.exci2 ~~
## .i.cont2 -0.050 0.017 -2.901 0.004 -0.050 -0.126
## .aa.slug ~~
## .i.cont2 0.054 0.019 2.789 0.005 0.054 0.104
## .aa.lone ~~
## .i.cont2 0.045 0.019 2.437 0.015 0.045 0.089
## .aa.fear ~~
## .aa.unha -0.035 0.018 -1.958 0.050 -0.035 -0.081
## .i.elat2 ~~
## .i.sati2 -0.039 0.018 -2.096 0.036 -0.039 -0.077
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.591 0.036 16.480 0.000 0.591 0.457
## .aa.slee 0.596 0.033 18.337 0.000 0.596 0.557
## .aa.dull 0.471 0.029 16.302 0.000 0.471 0.449
## .aa.fear 0.451 0.028 15.948 0.000 0.451 0.362
## .aa.host 0.559 0.033 17.032 0.000 0.559 0.455
## .aa.nerv 0.524 0.029 18.056 0.000 0.524 0.522
## .aa.sadx 0.319 0.026 12.166 0.000 0.319 0.301
## .aa.lone 0.556 0.032 17.576 0.000 0.556 0.441
## .aa.unha 0.418 0.031 13.533 0.000 0.418 0.367
## .i.peac2 0.475 0.037 12.805 0.000 0.475 0.638
## .i.calm2 0.602 0.032 18.701 0.000 0.602 0.743
## .i.rela2 0.313 0.038 8.255 0.000 0.313 0.415
## .i.enth2 0.405 0.024 17.083 0.000 0.405 0.603
## .i.exci2 0.337 0.028 12.049 0.000 0.337 0.429
## .i.elat2 0.653 0.037 17.833 0.000 0.653 0.645
## .i.happ2 0.278 0.021 13.338 0.000 0.278 0.427
## .i.sati2 0.385 0.026 14.625 0.000 0.385 0.467
## .i.cont2 0.459 0.039 11.891 0.000 0.459 0.503
## an 0.543 0.050 10.791 0.000 1.000 1.000
## .aa_LAN 0.159 0.025 6.478 0.000 0.227 0.227
## .aa_HAN 0.043 0.024 1.807 0.071 0.054 0.054
## .aa_NEG 0.102 0.023 4.336 0.000 0.137 0.137
## ip 0.161 0.024 6.624 0.000 1.000 1.000
## .i_LAP 0.109 0.026 4.246 0.000 0.404 0.404
## .i_HAP 0.135 0.018 7.551 0.000 0.506 0.506
## .i_POS 0.008 0.023 0.346 0.729 0.021 0.021
compareFit(model6.0, model6.0b) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model6.0b 114 41199 41476 177.96
## model6.0 128 41327 41537 334.17 156.21 0.10308 14 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model6.0b 177.957† 114 .000 .024† .991† .988† .023† 41199.288† 41476.465†
## model6.0 334.167 128 .000 .041 .970 .964 .032 41327.498 41536.597
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model6.0 - model6.0b 14 0.017 -0.021 -0.023 0.009 128.21 60.132
Here is the modified model, diagrammatically:
Looking at only the latent variables:
Now, we examine to see if the one factor model (whereby the covariance between an and ip are set to 1) or the two factor model (as above) fits the data better. Based on the results, the two factor model fit better (Δchi-square = 439.43, p < .001).
compareFit(model6.0b, model6.0b1) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## model6.0b 114 41199 41476 177.96
## model6.0b1 115 41637 41909 617.39 439.43 0.67721 1 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## model6.0b 177.957† 114 .000 .024† .991† .988† .023† 41199.288† 41476.465†
## model6.0b1 617.390 115 .000 .068 .927 .903 .508 41636.721 41909.035
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## model6.0b1 - model6.0b 1 0.043 -0.063 -0.084 0.484 437.433 432.57
Now we’re going to repeat the analyses but looking only at EA.
From the three modelCAs estimated, the model with the estimated covariation between iHAN and aaHAN (modelCA1.0) fit the data best.
summary(modelCA1.0, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 33 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 13
##
## Used Total
## Number of observations 262 263
##
## Model Test User Model:
##
## Test statistic 29.704
## Degrees of freedom 8
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 298.419
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.923
## Tucker-Lewis Index (TLI) 0.856
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1460.483
## Loglikelihood unrestricted model (H1) -1445.631
##
## Akaike (AIC) 2946.966
## Bayesian (BIC) 2993.355
## Sample-size adjusted Bayesian (SABIC) 2952.139
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.102
## 90 Percent confidence interval - lower 0.064
## 90 Percent confidence interval - upper 0.142
## P-value H_0: RMSEA <= 0.050 0.014
## P-value H_0: RMSEA >= 0.080 0.843
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.059
##
## 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
## aa_HAN =~
## aa.fear 1.000 0.707 0.719
## aa.host 0.763 0.115 6.653 0.000 0.540 0.596
## aa.nerv 0.819 0.121 6.778 0.000 0.579 0.642
## i_HAN =~
## i.fear2 1.000 0.276 0.643
## i.host2 0.782 0.133 5.881 0.000 0.216 0.504
## i.nerv2 1.591 0.257 6.193 0.000 0.439 0.733
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_HAN ~~
## i_HAN -0.085 0.021 -4.076 0.000 -0.437 -0.437
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.fear 0.467 0.077 6.065 0.000 0.467 0.483
## .aa.host 0.530 0.061 8.673 0.000 0.530 0.645
## .aa.nerv 0.478 0.061 7.806 0.000 0.478 0.588
## .i.fear2 0.108 0.015 7.318 0.000 0.108 0.587
## .i.host2 0.136 0.014 9.661 0.000 0.136 0.746
## .i.nerv2 0.166 0.032 5.226 0.000 0.166 0.462
## aa_HAN 0.500 0.099 5.065 0.000 1.000 1.000
## i_HAN 0.076 0.017 4.406 0.000 1.000 1.000
Now, we’ll look at modelCA fit indices to check what other “uninteresting” covariation paths we might need.
modificationIndices(modelCA1.0, sort = TRUE, minimum.value = 5)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 22 aa.fear ~~ aa.host 15.102 0.371 0.371 0.747 0.747
## 21 i_HAN =~ aa.nerv 15.102 -1.102 -0.304 -0.337 -0.337
## 33 aa.nerv ~~ i.nerv2 9.366 -0.077 -0.077 -0.275 -0.275
## 26 aa.fear ~~ i.nerv2 7.445 0.076 0.076 0.271 0.271
## 34 i.fear2 ~~ i.host2 5.663 -0.036 -0.036 -0.299 -0.299
## 18 aa_HAN =~ i.nerv2 5.662 0.204 0.144 0.241 0.241
## 30 aa.host ~~ i.nerv2 5.348 0.059 0.059 0.200 0.200
# modelCA 1.0a: modified based on top 2 modification indices [editing top 4 made the chi square non-significant]
CAsample_sem1.0a <- '
# latent variables; paths = 6
aa_HAN =~ aa.fear + aa.host + aa.nerv
i_HAN =~ i.fear2 + i.host2 + i.nerv2
# latent variable covariance; paths = 1
i_HAN ~~ aa_HAN
# item covariances
aa.fear ~~ aa.host
aa.nerv ~~ i.nerv2
aa.fear ~~ i.nerv2
i.fear2 ~~ i.host2
'
modelCA1.0a <- sem(CAsample_sem1.0a, data = dataCA)
## Warning in lav_object_post_check(object): lavaan WARNING: some estimated ov
## variances are negative
summary(modelCA1.0a, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 51 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 17
##
## Used Total
## Number of observations 262 263
##
## Model Test User Model:
##
## Test statistic 4.962
## Degrees of freedom 4
## P-value (Chi-square) 0.291
##
## Model Test Baseline Model:
##
## Test statistic 298.419
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.997
## Tucker-Lewis Index (TLI) 0.987
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1448.112
## Loglikelihood unrestricted model (H1) -1445.631
##
## Akaike (AIC) 2930.224
## Bayesian (BIC) 2990.886
## Sample-size adjusted Bayesian (SABIC) 2936.989
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.030
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.102
## P-value H_0: RMSEA <= 0.050 0.582
## P-value H_0: RMSEA >= 0.080 0.157
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.021
##
## 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
## aa_HAN =~
## aa.fear 1.000 0.584 0.594
## aa.host 0.726 0.116 6.257 0.000 0.424 0.468
## aa.nerv 1.155 0.260 4.450 0.000 0.675 0.748
## i_HAN =~
## i.fear2 1.000 0.462 1.077
## i.host2 0.826 0.134 6.177 0.000 0.382 0.892
## i.nerv2 0.572 0.429 1.333 0.183 0.264 0.442
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_HAN ~~
## i_HAN -0.092 0.023 -4.002 0.000 -0.342 -0.342
## .aa.fear ~~
## .aa.host 0.172 0.067 2.574 0.010 0.172 0.272
## .aa.nerv ~~
## .i.nerv2 -0.112 0.045 -2.483 0.013 -0.112 -0.349
## .aa.fear ~~
## .i.nerv2 -0.019 0.037 -0.514 0.607 -0.019 -0.045
## .i.fear2 ~~
## .i.host2 -0.126 0.130 -0.968 0.333 -0.126 -3.792
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.fear 0.626 0.092 6.777 0.000 0.626 0.647
## .aa.host 0.641 0.072 8.851 0.000 0.641 0.781
## .aa.nerv 0.358 0.101 3.555 0.000 0.358 0.440
## .i.fear2 -0.029 0.159 -0.186 0.853 -0.029 -0.160
## .i.host2 0.037 0.110 0.339 0.735 0.037 0.204
## .i.nerv2 0.289 0.057 5.049 0.000 0.289 0.805
## aa_HAN 0.341 0.098 3.469 0.001 1.000 1.000
## i_HAN 0.214 0.159 1.341 0.180 1.000 1.000
Adding the following four covariance paths:
Made the chi-square statistic non-significant. The change in latent variable composition (to load aa_nerv into i_HAN) was not added as the model could not be identified if so.
Hence, if we take it that we should model the two item covariance pathways (instead of just one), the final model (standardized coefficients) looks like this:
From the three models estimated, the model with the estimated covariation between iLAN and aaLAN (modelCA2.0) fit the data best.
summary(modelCA2.0, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 31 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 13
##
## Used Total
## Number of observations 261 263
##
## Model Test User Model:
##
## Test statistic 28.896
## Degrees of freedom 8
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 270.064
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.918
## Tucker-Lewis Index (TLI) 0.846
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1415.558
## Loglikelihood unrestricted model (H1) -1401.110
##
## Akaike (AIC) 2857.116
## Bayesian (BIC) 2903.454
## Sample-size adjusted Bayesian (SABIC) 2862.239
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.100
## 90 Percent confidence interval - lower 0.062
## 90 Percent confidence interval - upper 0.141
## P-value H_0: RMSEA <= 0.050 0.017
## P-value H_0: RMSEA >= 0.080 0.824
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.051
##
## 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
## aa_LAN =~
## aa.slug 1.000 0.757 0.819
## aa.slee 0.740 0.099 7.512 0.000 0.560 0.592
## aa.dull 0.866 0.109 7.934 0.000 0.656 0.703
## i_LAN =~
## i.slug2 1.000 0.252 0.667
## i.slee2 0.909 0.278 3.268 0.001 0.229 0.411
## i.dull2 0.767 0.233 3.299 0.001 0.193 0.460
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_LAN ~~
## i_LAN -0.047 0.019 -2.471 0.013 -0.244 -0.244
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.282 0.067 4.185 0.000 0.282 0.329
## .aa.slee 0.582 0.062 9.421 0.000 0.582 0.650
## .aa.dull 0.442 0.061 7.234 0.000 0.442 0.506
## .i.slug2 0.079 0.020 3.950 0.000 0.079 0.554
## .i.slee2 0.259 0.028 9.265 0.000 0.259 0.831
## .i.dull2 0.139 0.017 8.344 0.000 0.139 0.788
## aa_LAN 0.574 0.094 6.071 0.000 1.000 1.000
## i_LAN 0.063 0.021 2.960 0.003 1.000 1.000
Now, we’ll look at model fit indices to check what other “uninteresting” covariation paths we might need.
modificationIndices(modelCA2.0, sort = TRUE, minimum.value = 10)
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 29 aa.slee ~~ i.slee2 14.36 -0.102 -0.102 -0.262 -0.262
# modelCA 2.0a: modified based on top 3 modification indices [editing top 1 made the chi square non-significant]
CAsample_sem2.0a <- '
# latent variables; paths = 6
aa_LAN =~ aa.slug + aa.slee + aa.dull
i_LAN =~ i.slug2 + i.slee2 + i.dull2
# latent variable covariance; paths = 1
i_LAN ~~ aa_LAN
# item covariances
aa.slee ~~ i.slee2
'
modelCA2.0a <- sem(CAsample_sem2.0a, data = dataCA)
summary(modelCA2.0a, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 31 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 14
##
## Used Total
## Number of observations 261 263
##
## Model Test User Model:
##
## Test statistic 13.882
## Degrees of freedom 7
## P-value (Chi-square) 0.053
##
## Model Test Baseline Model:
##
## Test statistic 270.064
## Degrees of freedom 15
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.973
## Tucker-Lewis Index (TLI) 0.942
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1408.051
## Loglikelihood unrestricted model (H1) -1401.110
##
## Akaike (AIC) 2844.102
## Bayesian (BIC) 2894.005
## Sample-size adjusted Bayesian (SABIC) 2849.619
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.061
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.109
## P-value H_0: RMSEA <= 0.050 0.297
## P-value H_0: RMSEA >= 0.080 0.294
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.045
##
## 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
## aa_LAN =~
## aa.slug 1.000 0.761 0.822
## aa.slee 0.749 0.097 7.737 0.000 0.570 0.598
## aa.dull 0.861 0.107 8.082 0.000 0.655 0.702
## i_LAN =~
## i.slug2 1.000 0.266 0.705
## i.slee2 0.907 0.272 3.340 0.001 0.242 0.429
## i.dull2 0.697 0.209 3.330 0.001 0.186 0.442
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa_LAN ~~
## i_LAN -0.042 0.019 -2.225 0.026 -0.209 -0.209
## .aa.slee ~~
## .i.slee2 -0.104 0.028 -3.737 0.000 -0.104 -0.267
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.277 0.066 4.176 0.000 0.277 0.324
## .aa.slee 0.583 0.062 9.390 0.000 0.583 0.642
## .aa.dull 0.443 0.060 7.364 0.000 0.443 0.508
## .i.slug2 0.072 0.021 3.334 0.001 0.072 0.502
## .i.slee2 0.258 0.029 9.054 0.000 0.258 0.816
## .i.dull2 0.142 0.016 8.817 0.000 0.142 0.805
## aa_LAN 0.579 0.094 6.159 0.000 1.000 1.000
## i_LAN 0.071 0.023 3.057 0.002 1.000 1.000
Adding the following covariance path:
Made the chi-square statistic non-significant (CFI = 0.973, TLI =
0.942, RMSEA = 0.061, SRMR = 0.045).
Hence, the final modelCA (standardized coefficients) looks like
this:
When modelling the four quadrants and the two neutral valence affect, the model has 18*(18+1)/2 = 171 number of unique pieces of information.
From the three modelCAs estimated, the model with the estimated covariation between aa and ia (modelCA3.0) fit the data best. Notably however, in modelCA3.0 and modelCA3.1, the variance of aa_HAN is negative.
summary(modelCA3.0, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 67 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 43
##
## Used Total
## Number of observations 256 263
##
## Model Test User Model:
##
## Test statistic 279.068
## Degrees of freedom 128
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 1651.093
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.899
## Tucker-Lewis Index (TLI) 0.879
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3845.975
## Loglikelihood unrestricted model (H1) -3706.441
##
## Akaike (AIC) 7777.950
## Bayesian (BIC) 7930.392
## Sample-size adjusted Bayesian (SABIC) 7794.070
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.068
## 90 Percent confidence interval - lower 0.057
## 90 Percent confidence interval - upper 0.079
## P-value H_0: RMSEA <= 0.050 0.004
## P-value H_0: RMSEA >= 0.080 0.033
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.059
##
## 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
## aa =~
## aa_LAN 1.000 0.859 0.859
## aa_HAN 1.037 0.128 8.076 0.000 1.020 1.020
## aa_NEG 1.007 0.110 9.128 0.000 0.840 0.840
## aa_LAN =~
## aa.slug 1.000 0.694 0.770
## aa.slee 0.763 0.093 8.177 0.000 0.529 0.569
## aa.dull 0.924 0.093 9.981 0.000 0.641 0.708
## aa_HAN =~
## aa.fear 1.000 0.606 0.625
## aa.host 0.831 0.110 7.591 0.000 0.504 0.577
## aa.nerv 0.974 0.115 8.471 0.000 0.590 0.665
## aa_NEG =~
## aa.sadx 1.000 0.715 0.828
## aa.lone 0.932 0.086 10.859 0.000 0.666 0.672
## aa.unha 0.946 0.072 13.154 0.000 0.676 0.806
## ia =~
## i_LAN 1.000 0.873 0.873
## i_HAN 1.129 0.166 6.803 0.000 0.900 0.900
## i_NEG 1.778 0.234 7.586 0.000 0.970 0.970
## i_LAN =~
## i.slug2 1.000 0.246 0.646
## i.slee2 0.752 0.175 4.290 0.000 0.185 0.331
## i.dull2 0.908 0.143 6.354 0.000 0.223 0.531
## i_HAN =~
## i.fear2 1.000 0.269 0.630
## i.host2 0.895 0.127 7.063 0.000 0.241 0.558
## i.nerv2 1.589 0.191 8.339 0.000 0.428 0.713
## i_NEG =~
## i.sadx2 1.000 0.393 0.778
## i.lone2 0.790 0.081 9.774 0.000 0.311 0.670
## i.unha2 0.622 0.072 8.619 0.000 0.245 0.589
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa ~~
## ia -0.050 0.012 -4.180 0.000 -0.395 -0.395
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .aa.slug 0.331 0.046 7.232 0.000 0.331 0.407
## .aa.slee 0.585 0.058 10.032 0.000 0.585 0.676
## .aa.dull 0.408 0.048 8.532 0.000 0.408 0.499
## .aa.fear 0.573 0.060 9.622 0.000 0.573 0.610
## .aa.host 0.509 0.051 10.052 0.000 0.509 0.667
## .aa.nerv 0.438 0.048 9.111 0.000 0.438 0.557
## .aa.sadx 0.233 0.033 6.965 0.000 0.233 0.314
## .aa.lone 0.537 0.055 9.731 0.000 0.537 0.548
## .aa.unha 0.246 0.032 7.598 0.000 0.246 0.350
## .i.slug2 0.084 0.011 7.523 0.000 0.084 0.583
## .i.slee2 0.278 0.026 10.786 0.000 0.278 0.890
## .i.dull2 0.127 0.013 9.478 0.000 0.127 0.718
## .i.fear2 0.110 0.012 9.200 0.000 0.110 0.603
## .i.host2 0.129 0.013 9.892 0.000 0.129 0.689
## .i.nerv2 0.178 0.023 7.849 0.000 0.178 0.492
## .i.sadx2 0.101 0.014 7.199 0.000 0.101 0.395
## .i.lone2 0.119 0.013 9.226 0.000 0.119 0.551
## .i.unha2 0.113 0.011 9.979 0.000 0.113 0.653
## aa 0.356 0.065 5.468 0.000 1.000 1.000
## .aa_LAN 0.126 0.040 3.168 0.002 0.262 0.262
## .aa_HAN -0.015 0.032 -0.463 0.643 -0.041 -0.041
## .aa_NEG 0.150 0.036 4.142 0.000 0.294 0.294
## ia 0.046 0.010 4.408 0.000 1.000 1.000
## .i_LAN 0.014 0.008 1.701 0.089 0.237 0.237
## .i_HAN 0.014 0.007 1.935 0.053 0.191 0.191
## .i_NEG 0.009 0.014 0.656 0.512 0.059 0.059
Now, let’s see if modelling the individual covariances between avoided and ideal NEG, HAN and LAN significantly improves the fit.
compareFit(modelCA3.0, modelCA3.0a) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## modelCA3.0a 125 7743.1 7906.1 238.19
## modelCA3.0 128 7777.9 7930.4 279.07 40.882 0.22209 3 6.928e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## modelCA3.0a 238.186† 125 .000 .059† .924† .908† .056† 7743.068† 7906.146†
## modelCA3.0 279.068 128 .000 .068 .899 .879 .059 7777.950 7930.392
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## modelCA3.0 - modelCA3.0a 3 0.008 -0.025 -0.028 0.003 34.882 24.246
Comparing the two models, modelCA3.0a fits better (Δchi-square = 40.882, p < .001). The variance of aa_HAN is still negative, however. So we’ll see the modification indices for that. I used the modification indices in two different ways:
However, ModelCA3.0c failed to identify before the fit was acceptable (based on chi squared statistics).
modificationindices(modelCA3.0a, sort = TRUE, minimum.value = 8.6)
## Warning in lav_start_check_cov(lavpartable = lavpartable, start = START): lavaan WARNING: starting values imply a correlation larger than 1;
## variables involved are: aa_NEG i_NEG
## Warning in sqrt(var.lhs.value * var.rhs.value): NaNs produced
## Warning in lav_start_check_cov(lavpartable = lavpartable, start = START): lavaan WARNING: starting values imply NaN for a correlation value;
## variables involved are: aa_HAN i_HAN
## lhs op rhs mi epc sepc.lv sepc.all sepc.nox
## 341 aa_LAN ~~ aa_NEG 84.883 -2.515 -17.720 -17.720 -17.720
## 243 aa.host ~~ aa.nerv 46.368 -0.617 -0.617 -1.320 -1.320
## 350 aa_NEG ~~ i_LAN 40.959 0.099 2.285 2.285 2.285
## 356 i_LAN ~~ i_NEG 30.348 -0.259 -33.597 -33.597 -33.597
## 115 aa_NEG =~ i.sadx2 21.535 -0.201 -0.146 -0.287 -0.287
## 339 aa ~~ i_NEG 18.757 -0.100 -2.348 -2.348 -2.348
## 70 aa =~ i.sadx2 18.057 -0.242 -0.146 -0.285 -0.285
## 276 aa.sadx ~~ i.sadx2 16.051 -0.059 -0.059 -0.391 -0.391
## 297 aa.unha ~~ i.unha2 15.531 -0.052 -0.052 -0.306 -0.306
## 344 aa_LAN ~~ i_NEG 15.491 0.094 3.745 3.745 3.745
## 206 aa.slee ~~ i.slee2 15.459 -0.107 -0.107 -0.264 -0.264
## 269 aa.sadx ~~ aa.unha 15.044 0.162 0.162 0.679 0.679
## 319 i.fear2 ~~ i.host2 13.689 -0.077 -0.077 -0.646 -0.646
## 127 ia =~ i.slug2 12.460 -2.422 -0.528 -1.389 -1.389
## 109 aa_NEG =~ i.slug2 12.061 0.117 0.085 0.224 0.224
## 77 aa_LAN =~ aa.lone 11.025 0.469 0.328 0.331 0.331
## 217 aa.dull ~~ aa.sadx 10.909 -0.091 -0.091 -0.306 -0.306
## 349 aa_NEG ~~ ia 10.872 -0.046 -0.533 -0.533 -0.533
## 85 aa_LAN =~ i.sadx2 10.561 -0.148 -0.103 -0.203 -0.203
## 128 ia =~ i.slee2 9.999 -2.052 -0.447 -0.801 -0.801
## 304 i.slug2 ~~ i.lone2 9.927 0.027 0.027 0.267 0.267
## 62 aa =~ aa.lone 9.830 0.790 0.474 0.479 0.479
## 218 aa.dull ~~ aa.lone 9.784 0.112 0.112 0.238 0.238
## 340 aa_LAN ~~ aa_HAN 9.093 0.162 0.454 0.454 0.454
## 345 aa_HAN ~~ aa_NEG 8.902 0.164 0.411 0.411 0.411
## 332 i.sadx2 ~~ i.unha2 8.695 0.033 0.033 0.312 0.312
CAsample_sem3.0b <- '
# latent variables; paths = 24
aa =~ aa_LAN + aa_HAN + aa_NEG + i.sadx2 + aa.lone # NOTE
aa_LAN =~ aa.slug + aa.slee + aa.dull + aa.lone + i.sadx2 # NOTE
aa_HAN =~ aa.fear + aa.host + aa.nerv
aa_NEG =~ aa.sadx + aa.lone + aa.unha + i.sadx2 + i.slug2 # NOTE
ia =~ i_LAN + i_HAN + i_NEG + i.slug2 + i.slee2
i_LAN =~ i.slug2 + i.slee2 + i.dull2
i_HAN =~ i.fear2 + i.host2 + i.nerv2
i_NEG =~ i.sadx2 + i.lone2 + i.unha2
# latent variable covariance; paths = 4
aa ~~ ia
aa_NEG ~~ i_NEG
aa_HAN ~~ i_HAN
aa_LAN ~~ i_LAN
# item and latent variable covariances
aa_LAN ~~ aa_NEG
aa.host ~~ aa.nerv
aa_NEG ~~ i_LAN
i_LAN ~~ i_NEG
aa ~~ i_NEG
aa.sadx ~~ i.sadx2
aa.unha ~~ i.unha2
aa_LAN ~~ i_NEG
aa.slee ~~ i.slee2
aa.sadx ~~ aa.unha
i.fear2 ~~ i.host2
aa.dull ~~ aa.sadx
aa_NEG ~~ ia
i.slug2 ~~ i.lone2
aa.dull ~~ aa.lone
aa_LAN ~~ aa_HAN
aa_HAN ~~ aa_NEG
i.sadx2 ~~ i.unha2
'
modelCA3.0b <- sem(CAsample_sem3.0b, data = dataCA)
## Warning in lav_object_post_check(object): lavaan WARNING: some estimated lv
## variances are negative
summary(modelCA3.0b, standardized = TRUE, fit.measure = TRUE)
## lavaan 0.6.15 ended normally after 297 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 72
##
## Used Total
## Number of observations 256 263
##
## Model Test User Model:
##
## Test statistic 121.839
## Degrees of freedom 99
## P-value (Chi-square) 0.059
##
## Model Test Baseline Model:
##
## Test statistic 1651.093
## Degrees of freedom 153
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.985
## Tucker-Lewis Index (TLI) 0.976
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -3767.361
## Loglikelihood unrestricted model (H1) -3706.441
##
## Akaike (AIC) 7678.721
## Bayesian (BIC) 7933.974
## Sample-size adjusted Bayesian (SABIC) 7705.715
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.030
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.047
## P-value H_0: RMSEA <= 0.050 0.979
## P-value H_0: RMSEA >= 0.080 0.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.039
##
## 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
## aa =~
## aa_LAN 1.000 0.319 0.319
## aa_HAN 0.704 0.224 3.147 0.002 0.251 0.251
## aa_NEG 0.858 0.518 1.655 0.098 0.291 0.291
## i.sadx2 3.578 6.977 0.513 0.608 0.784 1.554
## aa.lone 0.211 0.257 0.822 0.411 0.046 0.047
## aa_LAN =~
## aa.slug 1.000 0.687 0.763
## aa.slee 0.773 0.093 8.337 0.000 0.531 0.568
## aa.dull 0.938 0.093 10.064 0.000 0.645 0.714
## aa.lone 0.061 0.233 0.263 0.792 0.042 0.043
## i.sadx2 -0.750 1.321 -0.567 0.570 -0.515 -1.021
## aa_HAN =~
## aa.fear 1.000 0.616 0.635
## aa.host 0.892 0.111 8.065 0.000 0.549 0.629
## aa.nerv 1.021 0.115 8.867 0.000 0.628 0.709
## aa_NEG =~
## aa.sadx 1.000 0.646 0.751
## aa.lone 1.008 0.249 4.040 0.000 0.651 0.659
## aa.unha 0.914 0.070 13.150 0.000 0.591 0.708
## i.sadx2 0.712 1.283 0.555 0.579 0.460 0.912
## i.slug2 0.040 0.043 0.936 0.349 0.026 0.069
## ia =~
## i_LAN 1.000 0.988 0.988
## i_HAN 0.315 0.301 1.045 0.296 0.792 0.792
## i_NEG 1.998 3.290 0.607 0.544 1.111 1.111
## i.slug2 -0.641 0.343 -1.867 0.062 -0.440 -1.156
## i.slee2 -1.276 0.675 -1.890 0.059 -0.875 -1.556
## i_LAN =~
## i.slug2 1.000 0.694 1.825
## i.slee2 1.552 0.651 2.385 0.017 1.077 1.916
## i.dull2 0.302 0.299 1.012 0.312 0.210 0.499
## i_HAN =~
## i.fear2 1.000 0.273 0.637
## i.host2 0.986 0.135 7.293 0.000 0.269 0.622
## i.nerv2 1.550 0.183 8.459 0.000 0.422 0.703
## i_NEG =~
## i.sadx2 1.000 1.233 2.443
## i.lone2 0.254 0.347 0.731 0.465 0.313 0.674
## i.unha2 0.181 0.248 0.728 0.467 0.223 0.535
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## aa ~~
## ia -0.192 0.187 -1.030 0.303 -1.282 -1.282
## .aa_NEG ~~
## .i_NEG -0.091 0.147 -0.616 0.538 -0.246 -0.246
## .aa_HAN ~~
## .i_HAN -0.036 0.012 -2.854 0.004 -0.359 -0.359
## .aa_LAN ~~
## .i_LAN 0.014 0.015 0.920 0.358 0.201 0.201
## .aa_NEG 0.309 0.053 5.852 0.000 0.766 0.766
## .aa.host ~~
## .aa.nerv -0.106 0.037 -2.864 0.004 -0.106 -0.250
## .aa_NEG ~~
## .i_LAN 0.025 0.016 1.587 0.112 0.373 0.373
## .i_LAN ~~
## .i_NEG -0.036 0.021 -1.749 0.080 -0.558 -0.558
## aa ~~
## .i_NEG 0.106 0.121 0.871 0.384 0.809 0.809
## .i.sadx2 ~~
## .aa.sadx -0.049 0.017 -2.925 0.003 -0.049 -0.189
## .aa.unha ~~
## .i.unha2 -0.037 0.014 -2.680 0.007 -0.037 -0.177
## .aa_LAN ~~
## .i_NEG 0.104 0.152 0.685 0.494 0.269 0.269
## .aa.slee ~~
## .i.slee2 -0.106 0.028 -3.818 0.000 -0.106 -0.276
## .aa.sadx ~~
## .aa.unha 0.118 0.039 3.058 0.002 0.118 0.352
## .i.fear2 ~~
## .i.host2 -0.021 0.009 -2.312 0.021 -0.021 -0.186
## .aa.dull ~~
## .aa.sadx -0.052 0.025 -2.092 0.036 -0.052 -0.145
## .aa_NEG ~~
## ia 0.020 0.092 0.221 0.825 0.048 0.048
## .i.slug2 ~~
## .i.lone2 0.009 0.010 0.880 0.379 0.009 0.091
## .aa.lone ~~
## .aa.dull 0.046 0.038 1.236 0.216 0.046 0.105
## .aa_LAN ~~
## .aa_HAN 0.318 0.055 5.791 0.000 0.820 0.820
## .aa_HAN ~~
## .aa_NEG 0.321 0.051 6.347 0.000 0.872 0.872
## .i.sadx2 ~~
## .i.unha2 0.027 0.010 2.607 0.009 0.027 0.170
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .i.sadx2 0.210 0.450 0.466 0.641 0.210 0.824
## .aa.lone 0.487 0.057 8.509 0.000 0.487 0.498
## .aa.slug 0.338 0.045 7.525 0.000 0.338 0.417
## .aa.slee 0.591 0.058 10.102 0.000 0.591 0.677
## .aa.dull 0.399 0.047 8.452 0.000 0.399 0.490
## .aa.fear 0.560 0.056 9.923 0.000 0.560 0.596
## .aa.host 0.460 0.050 9.140 0.000 0.460 0.604
## .aa.nerv 0.391 0.048 8.067 0.000 0.391 0.497
## .aa.sadx 0.322 0.047 6.870 0.000 0.322 0.435
## .aa.unha 0.348 0.045 7.683 0.000 0.348 0.499
## .i.slug2 0.074 0.013 5.550 0.000 0.074 0.510
## .i.slee2 0.252 0.030 8.372 0.000 0.252 0.796
## .i.dull2 0.133 0.013 10.171 0.000 0.133 0.751
## .i.fear2 0.109 0.012 8.946 0.000 0.109 0.594
## .i.host2 0.114 0.013 9.104 0.000 0.114 0.613
## .i.nerv2 0.183 0.021 8.708 0.000 0.183 0.506
## .i.lone2 0.118 0.016 7.461 0.000 0.118 0.546
## .i.unha2 0.124 0.013 9.843 0.000 0.124 0.713
## aa 0.048 0.045 1.072 0.284 1.000 1.000
## .aa_LAN 0.424 0.078 5.462 0.000 0.898 0.898
## .aa_HAN 0.355 0.071 5.034 0.000 0.937 0.937
## .aa_NEG 0.382 0.076 5.003 0.000 0.915 0.915
## ia 0.470 0.908 0.517 0.605 1.000 1.000
## .i_LAN 0.012 0.011 1.040 0.298 0.025 0.025
## .i_HAN 0.028 0.010 2.746 0.006 0.373 0.373
## .i_NEG -0.356 0.826 -0.431 0.666 -0.234 -0.234
compareFit(modelCA3.0a, modelCA3.0b) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## modelCA3.0b 99 7678.7 7934.0 121.84
## modelCA3.0a 125 7743.1 7906.1 238.19 116.35 0.11651 26 2.138e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## modelCA3.0b 121.839† 99 .059 .030† .985† .976† .039† 7678.721† 7933.974
## modelCA3.0a 238.186 125 .000 .059 .924 .908 .056 7743.068 7906.146†
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## modelCA3.0a - modelCA3.0b 26 0.029 -0.06 -0.069 0.017 64.347 -27.828
modelCA3.0b was significantly better than the original model (model3.0a; Δchi-square = 109.97, p < .001). Hence, we’ll be using that model. However, as you will notice from the plot, the magnitude of the correlation between the two latent variables were estimated to be greater than 1… Here is the model, diagrammatically:
Looking at only the latent variables:
Now, we examine to see if the one factor modelCA (whereby the covariance between aa and ia are set to -1) or the two factor modelCA (as above) fits the data better.
Surprisingly (or not, given that the freely estimated correlation waas greater than 1), based on the results, the one factor modelCA fit better (Δchi-square = -4.9924, p < .001).
compareFit(modelCA3.0b, modelCA3.0b1) %>% summary()
## ################### Nested Model Comparison #########################
##
## Chi-Squared Difference Test
##
## Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
## modelCA3.0b 99 7678.7 7934.0 121.84
## modelCA3.0b1 100 7678.1 7929.8 123.22 1.3828 0.038671 1 0.2396
##
## ####################### Model Fit Indices ###########################
## chisq df pvalue rmsea cfi tli srmr aic bic
## modelCA3.0b 121.839† 99 .059 .030† .985† .976† .039† 7678.721 7933.974
## modelCA3.0b1 123.222 100 .057 .030 .984 .976 .039 7678.104† 7929.812†
##
## ################## Differences in Fit Indices #######################
## df rmsea cfi tli srmr aic bic
## modelCA3.0b1 - modelCA3.0b 1 0 0 0 0.001 -0.617 -4.162
Hence, here is the one-factor model, diagrammatically:
Looking at only the latent variables: