Adding/Subtracting Two Latent Factors PreviousNext
Mplus Discussion > Confirmatory Factor Analysis >
 Thomas Scotto posted on Friday, December 06, 2013 - 5:49 pm

VIA CFA with ordinal indicators and the WLSMV estimator, I've obtained two latent variables of concepts that are of interest to me, say X and Y. Fit of the model is excellent, and I'd like to move on to full SEM where I test the following--A large gap between the respondent's location on factor X and their location on Factor Y drives evaluations of Z. I have read up on the warnings associated with using saved factor scores in a separate analysis, so is there a way to combine factors in an additive or subtractive manner?


 Bengt O. Muthen posted on Friday, December 06, 2013 - 6:15 pm
Would it work to consider

Z = a + b *(X-Y ) + e

and say


Z ON X (posb)
Y (negb);

Model Constraint:
0 = posb+negb;
 Thomas Scotto posted on Saturday, July 19, 2014 - 5:02 pm

Sorry to be delayed before coming back to this. I'm not really clear on the logic here?

As an output with the constraint, I receive

Z on
X 1.044
Y -1.044

I need the direct effects of X and Y and the interactive effects

Perhaps an easier way would be to create another latent variable that somehow is the difference between the two and then use all three in the path model. Can this be done?

I thought one way might be to try to do something similar to latent change modelling and introduce a phantom difference factor, but I'm not sure I'm on solid ground.


 Thomas Scotto posted on Saturday, July 19, 2014 - 5:29 pm

After writing, I realised my language was unclear. What I mean to say is I need the effects of the difference between x and y on z. I do NOT want to interact the two factors.

 Bengt O. Muthen posted on Sunday, July 20, 2014 - 6:25 am
You can do what you suggest.
 Reynaldo Valle Thiele posted on Sunday, June 16, 2019 - 12:54 am
Dear MPlus Team,
I have exactly the same problem described here, and I am not sure that I understand the solution that is hinted at in this thread. I need to work with the DIFFERENCE of two latent variables X and Y, and I am aware that you should not simply subtract the factor scores. You suggest now that it is indeed correct to "create another latent variable that somehow is the difference between the two" by "something similar to latent change modelling" and by introducing "a phantom difference factor". Could you please elaborate on that? What is the reference case in the user's manual? How would the exact commands have to look like? I think this could be of great interest for many users.

Thanks, RVT
 Bengt O. Muthen posted on Sunday, June 16, 2019 - 3:46 pm
Have a look at the FAQ on our website:

Latent change score modeling scripts
 Reynaldo Valle Thiele posted on Saturday, June 29, 2019 - 1:40 am
I built a model according to the scripts that you recommended.

I want to work with the DIFFERENCE of the latent variables L1 and L2, following the idea that L1 together with (L2 minus L1) might explain my outcome.


!!First the Latent true scores
L1 BY x1@1 x2@1 x3@1;
L2 BY x4@1 x5@1 x6@1;
[L1*]; L1;
[L2@0]; L2@0;
[x1-x6@0 ]; x1-x6;
!!!Different from Grimm's model I think I should not constrain the residual variance of x1 to x6 to be equal, as x1 to x6 are different variables, so x4-x6 is not the (t+1) equivalent to x1-x3.

L2 ON L1@1;

!!! Now the Difference score, equivalent to a latent change score
diff BY L2@1; [diff]; diff; diff WITH L1;

!!!Finally, the regression I am really interested in
Y ON L1 diff;

However, I regularly get the error message: WARNING: THE LATENT VARIABLE COVARIANCE MATRIX (PSI) IS NOT POSITIVE DEFINITE. (....)PROBLEM INVOLVING VARIABLE DIFF. Do you have an idea what might be the problem here?
 Bengt O. Muthen posted on Saturday, June 29, 2019 - 12:36 pm
Request TECH4 and look for zero variances and correlations = 1.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message