Comparing covariance matrices PreviousNext
Mplus Discussion > Exploratory Factor Analysis >
 GCWaters posted on Wednesday, May 19, 2004 - 12:25 pm
Anyone have an example of a program comparing two covariance matrices only, with no latent factors?
 bmuthen posted on Wednesday, May 19, 2004 - 1:10 pm
For say 3 variables, you can simply state

y1 with y2-y3;
y2 with y3;

in the model statement and then apply any degree of equality across the groups.
 GCWaters posted on Wednesday, May 19, 2004 - 1:40 pm
 Anonymous posted on Monday, March 21, 2005 - 11:46 am
I began EFA on my data but quickly noted that the correlation matrix which came in the output does not match the corr matrix produced in stata with the same data. The correlations are higher in Mplus. Any ideas on what to do? The data are binary and there are missing data. Naturally, I don't want to continue with the analysis if the matrices don't match.
 bmuthen posted on Monday, March 21, 2005 - 5:30 pm
Mplus produces tetrachoric correlations with EFA of binary outcomes - perhaps the other program treats the variables as continuous?
 Anonymous posted on Wednesday, March 23, 2005 - 9:35 pm
Thank you and yes, Stata treats the variables as continuous. But, even when I don't tell Mplus that my variables are binary, the two matrices don't match. In other words, if I have Mplus create the correlation matrix as if my variables are continuous.

After some more research on this, I am now sure that it is a missing data issue. I understand that mplus performs listwise deletion when there are missing data (unless analysis = missing is indicated in the input). However, it does not seem to be doing listwise deletion by default when creating the corr matrix. I know this because if, in stata, I drop all cases with missing data and transfer that no-missings-data set over to mplus and ask for the corr matrix, only then can I get mplus's corr matrix to match stata's corr matrix.

Is it true then that for some reason Mplus not default to listwise in the case of corr matrices? What is Mplus doing with the missing data here?
 Linda K. Muthen posted on Thursday, March 24, 2005 - 5:25 am
The Mplus default in all cases is listwise deletion. There is no difference for correlation matrices. There must be another issue. For example, perhaps you are not reading the data correctly in Mplus. If you want to send me the listwise data set, the data set with missing, your Mplus output, your Stata output, and license number to, I will be happy to let you know what is happening.
 Anonymous posted on Thursday, March 24, 2005 - 11:35 am
Your comment about "not reading the data correctly" actually led me to the resolution.(I'm posting it in case anyone has a similar situation in the future.)

I used stata2mplus to transfer my data. My missings in stata were identified with periods. I didn't realize that the stata2mplus module would turn my periods into "-9999". Now that I am specifying my missings as such in mplus, the correlations do, of course, match perfectly.

Thank you for your help. (I'm still happy to send you all of the info, if you want it for any reason.)
 Linda K. Muthen posted on Thursday, March 24, 2005 - 1:17 pm
No, that will not be necessary. It sounds like you solved your problem.
 Anonymous posted on Thursday, March 24, 2005 - 2:16 pm
Howdy, this is Michael Mitchell (the author of stata2mplus). Indeed, the missing values are written out at -9999 by default (and you can change that if you wish with the "missing(#)" option. Feel free to write me at with any future questions on this and I would be happy to help.

Happy Computing,

Michael Mitchell
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