I’m having trouble with a confirmatory factor analysis in R using lavaan. My model is for a Social Dominance Orientation scale. It has four factors: dominance, antiegalitarianism, pro-trait, and con-trait. The items are supposed to load on multiple factors.
Here’s what my model looks like:
model_sdo <- '
Main1 =~ Q1 + Q2 + Q3 + Q4 + Q5 + Q6 + Q7 + Q8
Main2 =~ Q9 + Q10 + Q11 + Q12 + Q13 + Q14 + Q15 + Q16
Secondary1 =~ Q1 + Q2 + Q3 + Q4 + Q9 + Q10 + Q11 + Q12
Secondary2 =~ Q5 + Q6 + Q7 + Q8 + Q13 + Q14 + Q15 + Q16
'
fit_result <- cfa(model_sdo, data = my_data)
When I run this, I get a warning that the optimizer couldn’t find a solution. The output says the estimates are probably not reliable.
Does anyone know why this isn’t working? Is there a better way to set up this model with cross-loadings? I’m trying to replicate previous research on this scale. Any help would be great!
Hey Hugo_Storm! Complex CFAs can be a real headache, right?
I’ve wrestled with similar issues before. Have you considered tweaking your model a bit? Maybe start by removing some of the cross-loadings and see if that helps?
Also, what’s your sample size like? Sometimes these models need a lot of data to play nice. If you’ve got a smaller sample, that could be part of the problem.
Oh, and here’s a thought - have you tried using modification indices? They might give you some clues about where the model’s struggling. Just be careful not to let the data drive your theory too much!
I’m really curious about your research. What made you choose this particular SDO scale? And how does it compare to other versions you’ve seen? It’d be cool to hear more about the background of your study!
Keep at it - you’ll crack this eventually!
Let us know how it goes, yeah?
hey there, i’ve run into similar issues with complex CFAs. have u tried using a different optimizer? sometimes ‘nlminb’ works better for tricky models. also, maybe simplify ur model a bit if u can - like removing some cross-loadings. that could help the convergence. good luck with ur analysis!
I’ve dealt with similar convergence problems in lavaan before. Have you considered the sample size? Complex models with cross-loadings often need larger samples to converge properly. If your sample is on the smaller side, that could be contributing to the issues.
Another thing to try is standardizing your variables before analysis. This can sometimes help with numerical stability. You might also experiment with different estimation methods - WLSMV can work well for ordinal data if that applies to your SDO scale.
If those don’t help, you may need to simplify the model structure somewhat. Perhaps start with a simpler model and gradually add complexity, monitoring fit at each step. This incremental approach often reveals where exactly the model starts to struggle.
Lastly, don’t forget to check for multicollinearity between your items. High correlations can throw off CFA models. A correlation matrix of your items might reveal problematic relationships to address.