I am trying to run an SEM/CFA second order model with categorical indicators. The indicators have 7 categories, so I know that I could model them as continuous with robust MLR. But, the variables are very skewed and from all of my reading on the pros and cons of the different estimators, I think WLSMV for categorical variables is the best option.
I have run the model as a first order model with 5 factors and I was also able to look at a bi-factor model. Both models had adequate fit after looking at modification indices and adding covariances.
Now I am trying to see if I could run the model as a second-order model. When I run the following model it runs, but has poor fit:
Beh2 <- 'Und =~ U1r + U2r + U3r + U4r + U5r
Value =~ V1r + V2r + V3r + V4r + V5r
Enhance =~ E1r + E2r + E3r + E4r + E5r
Protect =~ P1r + P2r + P3r + P4r + P5r
Career =~ C1r + C2r + C3r + C4r + C5r
Beh =~ Und + Value + Enhance + Protect + Career'
fit.Beh2 <- sem(Beh2, data = data, std.lv = TRUE)
summary(fit.Beh2, fit.measures = TRUE, standardized = TRUE)
After running the model, I request modification indices.
mi.2 <- modindices(fit.Beh2, minimum.value = 10, sort = TRUE)
mi.2[mi.2$op == "~~",]
lhs op rhs mi epc sepc.lv sepc.all sepc.nox
698 Enhance ~~ Protect 364.694 1.430 1.430 1.430 1.430
689 Und ~~ Value 254.611 2.253 2.253 2.253 2.253
691 Und ~~ Protect 136.052 -2.269 -2.269 -2.269 -2.269
694 Value ~~ Enhance 123.305 -0.718 -0.718 -0.718 -0.718
690 Und ~~ Enhance 116.266 -2.073 -2.073 -2.073 -2.073
.
.
.
But now when I run my modified model, I get an error:
Beh2 <- 'Und =~ VFI_U1r + VFI_U2r + VFI_U3r + VFI_U4r + VFI_U5r
Value =~ VFI_V1r + VFI_V2r + VFI_V3r + VFI_V4r + VFI_V5r
Enhance =~ VFI_E1r + VFI_E2r + VFI_E3r + VFI_E4r + VFI_E5r
Protect =~ VFI_P1r + VFI_P2r + VFI_P3r + VFI_P4r + VFI_P5r
Career =~ VFI_C1r + VFI_C2r + VFI_C3r + VFI_C4r + VFI_C5r
Beh =~ Und + Value + Enhance + Protect + Career
Enhance ~~ Protect '
fit.Beh2 <- sem(Beh2, data = data, std.lv = TRUE)
Warning message:
In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable, :
lavaan WARNING: the optimizer warns that a solution has NOT been found!
Interestingly, when skip the first suggested modification and include the next suggestion, the model will run.
Any thoughts on why I get this error only when I include "Enhance ~~ Protect" and not when I include other modifications?