In preparation for running a MG-CFA between different countries, I'm running individual CFAs (using laavan in R) for each country. One measure I'm testing has 18 factors (3 items per factor) - For some countries, it works fine - others I get the
Warning message:
In lav_object_post_check(lavobject) :
lavaan WARNING: covariance matrix of latent variables
is not positive definite;
use inspect(fit,"cov.lv") to investigate.
error message.
I believe the issue has to do with the stronger relationships between the 18 components, but none of the correlations are above 1. Specifically, when I run
inspect(FIT.Model, "cor.lv")
the highest correlation is .866. However when I run
eigen(inspect(FIT.Model, "cor.lv"))$values
the last value is negative
[1] 10.20010867 1.54559353 1.05465161 0.97859508 0.67929777 0.62547121 0.53274332 0.47981312 0.42232591
[10] 0.35644748 0.27269731 0.22664740 0.17313899 0.13122676 0.12674976 0.12398684 0.08523215 -0.01472690
same deal with I do the covariance
[1] 5.093690855 0.865352403 0.608291153 0.536724049 0.378224007 0.328027862 0.237312742 0.221256124
[9] 0.200210259 0.174495185 0.128960034 0.092930433 0.086906284 0.068657765 0.061912550 0.042895790
[17] 0.039590985 -0.001415731
Now, I've read places where some negative Eigenvalues are acceptable and just to continue, but I don't think mine fall into this range.
I'm not sure why the negative Eigenvalues are there if the correlations/covariance aren't indicative of something being wrong... Why is that? And what are potential ways forward?
Thanks for the help!