Varying numbers of factors in MGCFA
Message/Author
 Thomas Klausch posted on Monday, March 26, 2012 - 10:34 am
Dear Lisa, Bengt,

I would like to know, if I can specify a MG-CFA where the number of factors varies across groups in Mplus. Say I have a model with the same two factors in all groups, but in one sub-group the model has to be supplemented by a third factor in order to have appropriate fit. I think then it should still be possible to fit a MG model and test equality constraints for those factors the groups have in common. But how to do this in Mplus, i.e. how can I eliminate a factor from the models estimated in all but one sub-groups?

Thanks a lot for you reply!
 Bengt O. Muthen posted on Monday, March 26, 2012 - 6:35 pm
The short answer is that the group in question has its own BY statement.

The longer answer is that you need to be careful about the substantive interpretation in this case. When the 3rd factor is added and variables load on both the 2 original factors and this 3rd factor, the meaning of your 2 original factors may change for that group.
 Thomas Klausch posted on Tuesday, March 27, 2012 - 3:10 am
Thanks - If I do that Mplus argues that there is an undefined variable in a BY statetment (i.e. F3). Am I overlooking anything?

Re. the long answer, I believe f3 to be a nuissance variable causing differential measurement bias. I have taken from the bias literature that in such situations we might be able to still test measurement invariance on loadings, thresholds etc. if we adjust for the nuissance factor in the affected group.
 Linda K. Muthen posted on Tuesday, March 27, 2012 - 6:40 pm
 Thomas Klausch posted on Thursday, March 29, 2012 - 5:26 am
I found a solution to the problem.

The trick is to specify a zero constrained factor in the model command and then lift the constraints in the sub-groups where the factor should be.

So for example:

Model:
f1 by x1-x3;
f2 by x4-x6:
f3 by x7@0 x8@0 x9@0;
f3@0;
f1 with f3@0; f2 with f3@0;

Model group1:
f3 by x7* x8* x9*;
f1 with f3; f2 with f3;
f3*;

I specified f3@1 in the model comamnd which also works.