Bifactor EFA - is it possible

203 views
Skip to first unread message

Dani Broxy

unread,
Jun 22, 2023, 12:07:04 PM6/22/23
to lavaan
I would like to run a bifactor EFA model. Looking at the lavaan::efa function, it has the option for 'bigeomin' rotation and says that it is for bifactor rotation only.  Is it possible to specify an EFA with rotation for a bifactor model? Or if it is not possible with the efa function, it possible with a different function?

I tried:
Bifactor<-efa(data, nfactors = 3, estimator = 'WLSMV', rotation = 'bigeomin')

The output seems to just be a rotated correlated factor model with 2 factors, although it does give different results to using an oblimin rotation.

Otherwise, I have seen some people doing a bifactor ESEM using the GPArotation function - is this a better way to go about it?

Jasper Bogaert

unread,
Jun 23, 2023, 2:38:48 AM6/23/23
to lavaan
Hi Danielle,

I am no expert on (bifactor) EFA, but I remember reading two things which might be relevant to your question.
1) Lavaan includes two rotation options only for bifactor models: biquartimin and bigeomin.
2) The various rotation algorithms have been reimplemented but are similar to those of the GPArotation package (except for the promax method, which is taken from the stats package). If no one can provide further guidance, I would suggest trying both lavaan and the GPArotation. (I think the results should be similar.)

Best wishes,

Jasper
Op donderdag 22 juni 2023 om 18:07:04 UTC+2 schreef dza...@gmail.com:

Mauricio Garnier-Villarreal

unread,
Jun 23, 2023, 6:47:55 AM6/23/23
to lavaan
What would bifactor EFA model even mean? How would you interpret meaningful factors out of all factors loading to every item, on top of a General factor?

This seems like a recipe for overfitting to me, something that the bifactor model is known for already (without the EFA part), and I think the same of ESEM in general

Dani Broxy

unread,
Jun 26, 2023, 5:36:33 AM6/26/23
to lavaan

I am no expert on (bifactor) EFA, but I remember reading two things which might be relevant to your question.
1) Lavaan includes two rotation options only for bifactor models: biquartimin and bigeomin.
2) The various rotation algorithms have been reimplemented but are similar to those of the GPArotation package (except for the promax method, which is taken from the stats package). If no one can provide further guidance, I would suggest trying both lavaan and the GPArotation. (I think the results should be similar.)

I couldn't see the outputs for loadings onto the general factor with bigeomin so I was wondering if I had the syntax wrong
I will try GPA rotation and see what I get

What would bifactor EFA model even mean? How would you interpret meaningful factors out of all factors loading to every item, on top of a General factor?
This seems like a recipe for overfitting to me, something that the bifactor model is known for already (without the EFA part), and I think the same of ESEM in general

After pruning low loading items you should find that each specific factor only has a few items
It might overfit it. This is mitigated if you have an exploratory and confirmatory split half sample. Then you can test whether your structure replicates in a cfa in your confirmatory set.
Reply all
Reply to author
Forward
0 new messages