I’m working on a multi-level factor analysis to measure intelligence using lavaan. My model has three tiers: individual test scores, specific ability factors, and a general intelligence factor. Here’s a simplified version of my current setup:
intelligence_model <- '
spatial =~ Test1 + Test2 + Test3 + Test4
verbal =~ Test5 + Test6 + Test7
recall =~ Test8 + Test9
processing =~ Test10 + Test11
g_factor =~ spatial + verbal + recall + processing
'
I want to add age and sex as control variables but I’m not sure about the best approach. Should I link them to the g_factor, the specific abilities, or all the individual tests? I’ve tried adding them to each test like this:
Test1 ~~ Age
Test2 ~~ Age
# ... and so on for all tests and Sex
Does this make sense? Or is there a better way to include these controls in my model? I’d really appreciate some guidance on this. Thanks!
Hey there! I’m really intrigued by your hierarchical factor analysis model for cognitive ability. Have you considered another approach? What if you treated age and sex as predictors of both the g_factor and the specific ability factors? Something like this:
intelligence_model <- '
spatial =~ Test1 + Test2 + Test3 + Test4
verbal =~ Test5 + Test6 + Test7
recall =~ Test8 + Test9
processing =~ Test10 + Test11
g_factor =~ spatial + verbal + recall + processing
g_factor ~ Age + Sex
spatial ~ Age + Sex
verbal ~ Age + Sex
recall ~ Age + Sex
processing ~ Age + Sex
'
This way, you can see how age and sex influence both general intelligence and specific cognitive domains. It might give you a more comprehensive picture. What do you think? Have you tried anything like this before?
Also, I’m curious - what made you choose these particular tests for each factor? Do you have any hypotheses about which abilities might be more influenced by age or sex?
I’ve worked on similar models, and I’d recommend a different approach. Instead of attaching age and sex to g_factor or individual tests, consider incorporating them as covariates for the specific ability factors. This method allows you to examine how demographic variables influence different cognitive domains.
Your model could look like this:
intelligence_model <- '
spatial =~ Test1 + Test2 + Test3 + Test4
verbal =~ Test5 + Test6 + Test7
recall =~ Test8 + Test9
processing =~ Test10 + Test11
g_factor =~ spatial + verbal + recall + processing
spatial ~ Age + Sex
verbal ~ Age + Sex
recall ~ Age + Sex
processing ~ Age + Sex
'
This approach allows for more nuanced interpretation of age and sex effects on cognitive abilities while maintaining model parsimony. It’s worth comparing this to your original model using fit indices to see which performs better with your data.
hey, interesting approach! i suggest attaching age and sex to g_factor rather than every test. it simplifies your model and captures the general impact. try g_factor ~ Age + Sex and check fit. good luck!