Correlation Matrix PreviousNext
Mplus Discussion > Structural Equation Modeling >
 Jon Elhai posted on Tuesday, April 07, 2009 - 12:39 pm
Is there a way to obtain a correlation matrix for an SEM model, including intercorrelations among all exogenous observed variables and latent factors within the model? I tried this using TECH4 but the matrix only reports correlations for latent factors and endogenous observed variables. I'm using WLSMV estimation with binary and continuous observed variables.
 Bengt O. Muthen posted on Tuesday, April 07, 2009 - 6:29 pm
It is not straighforward to get this info via WLSMV estimation. You can turn your exogenous observed variables (which Mplus calls "x's") into "y's" by mentioning say their means. But note that this changes your model assumptions because then you need to assume underlying normality also for these x's - that is, you cannot benefit from the less stringent Mplus assumption of conditional underlying normality for the y's and no distributional assumption for the x's.
 Catherine posted on Wednesday, March 09, 2011 - 4:28 am

I have a question about the correlation matrix Mplus produces. This correlation matrix dramatically differs from the correlation matrix SPSS produces. Where do these differences come from, and wich one should I use?

 Linda K. Muthen posted on Wednesday, March 09, 2011 - 5:57 am
The differences could be that the type of correlations differ between the two programs, for example, if you are using WLSMV with binary variables in Mplus you will obtain tetrachoric correlations. In SPSS, you will obtain Pearson correlations. Also, the sample sizes most likely differ. If this does not clear things up for you, please send both the Mplus and SPSS outputs and your license number to
 Mario Paredes posted on Tuesday, January 01, 2013 - 11:26 am
Dr. Muthén,

I have an excel file with a correlation matrix, could you provide me guidance (or a reference) in how to use this as an input of Mplus?

Thank you in advance
 Linda K. Muthen posted on Tuesday, January 01, 2013 - 12:52 pm
See Examples 13.1 and 13.2 and pages 510-511 of the user's guide.
 Stephanie posted on Saturday, November 30, 2013 - 7:57 am
I have a question regrading the correlation matrix in MPlus.
As my dependent variable is dichotomous I am using the WLSMV estimator. Furthermore the model contains other dichotomous as well as continuous variables and additionally two latent contructs. Now I need to calculate the correlation matix and the levels of significance.
I ran a TYPE=BASIC in the analysis command as well as a SAMPSTAT in the output command, but I am not sure, where the levels of significance are reportet.
Could you please give me advice where I can find them?
Besides, I am not sure if it is possible to calculate the correlations between the latent contructs an all other variables in the model?
I thank you very much for your kind support!
 Linda K. Muthen posted on Saturday, November 30, 2013 - 10:30 am
I believe with TYPE=BASIC and WLSMV you get standard errors of the sample statistics. You can use those to get p-values.

There is no option that gives correlations between observed and latent variables.
 Nate Breznau posted on Saturday, August 18, 2018 - 6:35 am
Sorry if this is answered elsewhere but I can't find it. In a straightforward CFA with continuous variables, how do I obtain the correlations/covarainces of the observed varaibles and the factors. I don't want the partial correlations (factor loadings) but the full ones (what they would be with the predicted values for the factors). Thank you!
 Bengt O. Muthen posted on Saturday, August 18, 2018 - 4:17 pm
One way to get this is to put a factor behind each factor indicator and request TECH4.
 Nate Breznau posted on Sunday, August 19, 2018 - 1:56 am
Bengt, can you specify you use of "behind" here please?

I tried the following assuming tha tyou mean "BY" but it does not work (where F are factors and I are indicators)

F1 BY I1 I2 I3 I4;
F2 BY I5 I6;
FI1 BY I1;
FI2 BY I2;
FI3 BY I3;
FI4 BY I4;
FI5 BY I5;
FI6 BY I6;
 Bengt O. Muthen posted on Sunday, August 19, 2018 - 10:00 am
The idea is to represent the observed variable by a factor so y = fy which you can think of as y = 1*fy + 0. You do that by saying

fy by y;

The first statement gives the (invisible) unit loading in y = fy and the second statement gets rid of the residual variance in y = fy which instead appears in the variance of f. The rest of the modeling then uses fy instead of y. So for instance

f BY fy ....

Just make sure that the fy's don't also have correlation parameters with the "real" factors (check TECH1).
 Nate Breznau posted on Monday, August 20, 2018 - 1:29 am
Thanks Bengt, but for me it does not work

The unstandardized results and r-squares are all identical between models. But the standardized results are different. However, this seems to be a scaling problem.

To get the right standardized results (factor loadings) I had to multiply the factor loading of y onto fy by the factor loading of fy onto f (using your example above); then I get the identical answer as the original reported factor loading of y onto f. However, from the correlations in TECH4 I cannot recover the correct estimates through any multiplication that I can figure out.
 Bengt O. Muthen posted on Monday, August 20, 2018 - 11:17 am
Why don't you send the 2 outputs you are comparing to Support along with your license number so we can take a look at what you are seeing.
 Nate Breznau posted on Wednesday, August 29, 2018 - 1:18 pm
The Muthens solved my problem. I wanted to share it. The code I pasted above should look like this instead to get the accurate correlations:

FI1 BY I1; I1@0;
FI2 BY I2; I2@0;
FI3 BY I3; I3@0;
FI4 BY I4; I4@0;
FI5 BY I5; I5@0;
FI6 BY I6; I6@0;

F1 BY FI1 FI2 I3 I4;
F2 BY FI5 FI6;

This will produce correlations with the observed variables I1-I6 (captured as FI1-FI6) and the latent factors F1 and F2.

Thank you again!
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