1

I’m trying to run a confirmatory factor analysis in lavaan on a questionnaire scale of Social Dominance Orientation (SDO), replicating past research done in the development of the scale. However, the model doesn’t converge, and I don’t know why. It gives me the following error:

Warning message:
In lav_model_estimate(lavmodel = lavmodel, lavpartable = lavpartable,  :
  lavaan WARNING: the optimizer warns that a solution has NOT been found!
> 
> summary(fit_SDO, standardized=T,fit.measures=F,rsq=T)
lavaan 0.6-5 did NOT end normally after 3065 iterations
** WARNING ** Estimates below are most likely unreliable

The model I’m trying to fit has four factors. First two are dominance and antiegalitarianism, and in addition, the items on these subscales should have a secondary loading on either a pro-trait factor (items originally presented as higher value = higher SDO), or con-trait factor (items originally presented as higher value = lower SDO). I attached an image that shows how the model should look like:

The model I'm trying to run

Below is my model in R. Note that the items in dominance and antiegalitarianism should also load on the pro or con -factors:

model_SDO <- '

Dominance =~ SDO7_1 + SDO7_2 + SDO7_3 + SDO7_4 +SDO7_5 + SDO7_6 + SDO7_7 + SDO7_8
AntiEgalitarianism =~ SDO7_9 + SDO7_10 + SDO7_11 + SDO7_12 + SDO7_13 + SDO7_14 + SDO7_15 + SDO7_16

Pro =~ SDO7_1 + SDO7_2 + SDO7_3 + SDO7_4 +SDO7_9 + SDO7_10 + SDO7_11 + SDO7_12
Con =~ SDO7_5 + SDO7_6 + SDO7_7 + SDO7_8 + SDO7_13 + SDO7_14 + SDO7_15 + SDO7_16

'
fit_SDO <- cfa(model_SDO, data = data_all)
summary(fit_SDO, standardized=T,fit.measures=F,rsq=T)

Any idea where the problem lies? Is there some other way I should write the model to get it converge and still get the factor structure presented in the image I attached?

Thank you very much for your help!

John Conde
  • 217,595
  • 99
  • 455
  • 496
Moona K
  • 11
  • 2

1 Answers1

0

Okay, so I actually managed to solve the problem myself: when I constrain the covariances between the content factors (Dominance and AntiEgalitarianism) and the response-key factors (Pro and Con) to be zero (as the content and the keying shouldn't be correlated), the model runs fine.

model_SDO <- '

Dominance =~ SDO7_1 + SDO7_2 + SDO7_3 + SDO7_4 +SDO7_5 + SDO7_6 + SDO7_7 + SDO7_8
AntiEgalitarianism =~ SDO7_9 + SDO7_10 + SDO7_11 + SDO7_12 + SDO7_13 + SDO7_14 + SDO7_15 + SDO7_16

Pro =~ SDO7_1 + SDO7_2 + SDO7_3 + SDO7_4 +SDO7_9 + SDO7_10 + SDO7_11 + SDO7_12
Con =~ SDO7_5 + SDO7_6 + SDO7_7 + SDO7_8 + SDO7_13 + SDO7_14 + SDO7_15 + SDO7_16

Pro ~~ 0*Dominance
Pro ~~ 0*AntiEgalitarianism

Con ~~ 0*Dominance
Con ~~ 0*AntiEgalitarianism
'
Moona K
  • 11
  • 2