Create Well-Being Latent Variable in Lavaan from Depression/Anxiety Questionnaire

92 Views Asked by At

I'm building a structural equation model that incorporates 4 latent variables: physical lifestyle, social lifestyle, trauma score, and the DV (well-being).

We have a 7 question survey of just well-being, but I think it would be more sound (less measurement error) to cull three surveys of well-being, depression, and anxiety to make them into a latent dependent variable. I received the warning that the covariance matrix was not positive definite when just using the scaled scores from the surveys, so I decided to actually incorporate the questions from the surveys themselves. However, when I do this and then look at modification indices I receive an output that suggests that the residuals are not currently correlated, when I thought that that was the default for any latent variable, which is why I am wondering whether I am specifying the well-being latent variable correctly (whether it's just a matter of adding in all questions that will ultimately comprise this latent variable).

Below is the entire model. The latent variable "well-being" currently only has questions from the phq 9, Depression Survey; and the General Anxiety Survey (but will also be adding in the well-being survey). I've added the output for the modification indices below that.

I've included some data here: https://drive.google.com/file/d/1AX50DFNik30Qsyiyp6XnPMETNfVXK83r/view?usp=sharing

Thanks much!

fit.latent_wb <- '
  #factor loadings; measurement model portion
  pl =~ exercisescore + mindfulnessscore + promistscore
  sl =~ family_support + friendshipcount + friendshipnet +
        sense_of_community + sesscore + ethnicity
  trauma =~ neglectscore + abusescore + exposure + family_support + age
   wb =~ phq9_1 + phq9_2 + phq9_3 + phq9_4 + phq9_5 + phq9_6 +
         phq9_7 + phq9_8 + phq9_9 + gad7_1 + gad7_2 + gad7_3 + gad7_4 +
         gad7_5+ gad7_6+ gad7_7

  #regressions: structural model
  wb ~ age + gender + ethnicity + sesscore + resiliencescore + 
       pl + emotionalsupportscore + trauma
  resiliencescore ~ age + sesscore + emotionalsupportscore + sl
  emotionalsupportscore ~ sl + gender

friendshipnet~~age
exercisescore~~sense_of_community
'
fit.latent_wb <- sem(fit.latent_wb, data = total, meanstructure = TRUE, std.lv = TRUE)
summary(fit.latent_wb, fit.measures = TRUE,standardized = TRUE, rsquare = TRUE, estimates = FALSE)

Output for Mod Indices:

enter image description here

0

There are 0 best solutions below