Message/Author 


Hello, I run Exploratory Factor Analysis in Mplus using ML estimator. My dataset is composed of ordinal variables and has missing values (n total = 806 cases). Missing values were specified in Mplus as: MISSING IS ALL(999); and variables were treated as continuous in the ML analysis. However, the correlation matrix obtained in Mplus output is slightly different from the Pearson correlation computed in SPSS and in R (the latter two are identical by the way). Would you have any idea why the Mplus correlation matrix is different from the two others? Thanks heaps in advance. 


I would imagine that the sample size may be different between the programs and also perhaps the type of estimation. The default in Mplus since Version 5 is to use TYPE=MISSING which uses all available information. I think SPSS would do a listwise deletion or pairwise present analysis. 


Thanks a lot for your prompt answer. I did specify pairwise deletion in SPSS and R. It seems that the two softwares perform the pairwise deletion because the number of observations are different for each pair of variables. I really don't see where the differences come from... 


We don't use pairwise deletion. We have the same sample size for each estimated correlation. So different data are being analyzed. This is why you see differences in the correlations. 


Sorry, I thought when you said "uses all available information" you meant pairwise deletion.... Thanks a lot for your help! 


Hello, I am trying to find a way to carry out EFA with an Euclidean distance matrix (instead if a correlation or covariance). I am coming up with nothing. Can anyone help me with this? 


Mplus does not read an Euclidean distance matrix per se. You could use TYPE=CORRELATION in the DATA command to read the matrix. You would be on your own as far as interpreting the results however. I can't comment on other programs. 

Jan Zirk posted on Tuesday, July 24, 2012  6:19 pm



Dear Linda or Bengt, Is it possible to automatically obtain in MPlus the correlation matrix with Bayesian estimation (noninf. priors)? Also, how can I obtain the significance level for the ML correlations? 


If you mean the sample correlation matrix, you don't get that automatically in a Bayes run, but you can get it by running ML Type=Basic. 

Jan Zirk posted on Wednesday, July 25, 2012  10:33 am



Yes, I see. Thank you. I see the coefficients but can I also obtain their significance levels? 


We don't provide standard errors for the correlations. 

Jan Zirk posted on Thursday, July 26, 2012  2:48 pm



I see, thank you and best wishes. Jan 

Guanyi Lu posted on Wednesday, November 07, 2012  4:55 pm



Hi Linda, Can we get the correlation matrix from a measurement model? I have a few latent factors predicting a few sets of objective performance measures. Theoretically it does not make sense to put all objective performance measures in one model. I test my hypotheses using different structural models with each set of objective performance measures as DVs respectively. Now I want to get a correlation matrix including all objective measures and the latent variables. Tech4 only gives me the correlation matrix of latent variables. Thanks 


The only way you can do that is to put a latent variable behind each observed variable, for example, f1 BY gender@1; gender@0; f2 BY y; y@0; and use the latent variables in the MODEL command, for example, f2 ON f1; 


Hi, My correlation matrix in Mplus is different from the one computed in SAS. In mplus I specified in the data command LISTWISE = ON and selected listwise deletion in SAS to ensure that the correlation analyses were being conducted on the same sample in both programs. However, this didn't help with the problem. Any suggestions as to what I can do in Mplus to fix this? Thanks 


If the data are the same, the correlations will be the same. Be sure you have the same sample size in both. If you can't see the difference, send both outputs and your license number to support@statmodel.com. 

Nara Jang posted on Friday, September 26, 2014  11:29 pm



Dear Drs. Muthen, What is the command to get the pvalues of correlation coefficients in Mplus? Thank you so much! 


For ML, MLR, and MLF, use the H1SE option along with TYPE=BASIC. For WLSMV, they are given automatically with TYPE=BASIC. 

Nara Jang posted on Saturday, September 27, 2014  10:11 pm



Thank you so much, Dr. Muthen! 

Tracy Witte posted on Friday, January 30, 2015  6:49 am



I am working on a manuscript and would like to include the MLR correlations I get from Mplus. When I use the H1SE option with TYPE=BASIC, I get standard errors for the covariance, but not the correlation matrix. Would it be inappropriate to use the statistical significance of the covariances (i.e., covariance divided by standard error) to indicate whether the correlations are statistically significant? If so, what options are there for determining the statistical significance of correlation matrices in Mplus? 


We don't give these. The standard errors for the covariances will not be the same for the correlations. You can standardize the variables and use the covariances which will be the correlations and you will get standard errors for those. 

Tracy Witte posted on Monday, February 02, 2015  7:04 am



Thanks! One thing I've tried to do is model the correlations between the observed variables using syntax similar to this: Model: v1 v2 v3 v4; [v1 v2 v3 v4]; v1 with v2 v3 v4; v2 with v3 v4; v3 with v4; However, when I do this, I get an error message that says THE STANDARD ERRORS OF THE MODEL PARAMETER ESTIMATES MAY NOT BE TRUSTWORTHY FOR SOME PARAMETERS DUE TO A NONPOSITIVE DEFINITE FIRSTORDER DERIVATIVE PRODUCT MATRIX. THIS MAY BE DUE TO THE STARTING VALUES BUT MAY ALSO BE AN INDICATION OF MODEL NONIDENTIFICATION. THE CONDITION NUMBER IS 0.816D14. PROBLEM INVOLVING THE FOLLOWING PARAMETER: Parameter 99, EDEQ18 WITH BMIADMIT THIS IS MOST LIKELY DUE TO HAVING MORE PARAMETERS THAN THE SAMPLE SIZE. My sample size is 99, and I'm trying to model bivariate correlations between 22 different variables. Would I be better off standardizing the variables and using the approach you suggested above? Are there any downsides to standardizing the variables in this way? (and does it make a difference that I'm using MLR and have some variables with notable skew). Or, is this error message ignorable? Thank you very much for your time! 


Why don't you explore this by working with only 2 variables, doing it the way you show here and prestandardizing. Compare the results of those 2 approaches to each other and to the approach you show for all 22 variables. Make sure you use the same sample size in all 3 cases so the runs are comparable. 

Tracy Witte posted on Tuesday, February 03, 2015  8:17 am



Thank you so much for the suggestion! So far, I've run 20 models, each with just two variables. All of the estimates have been identical to the full model that contains all 22 variables, with the exception of one that was .004 different. Do you think that I should run all 210 pairwise correlations just to be sure, or is this enough to be confident that the warning message can be ignored for the full model? Thanks again for your input! 


That's enough of an exploration. 


Hello, I wonder why the correlations given in the sample statics differ from the correlations given in the results section when using the "with" command. Is this due to the fact that when using "with" Pearson correlation is requested independent of the metric of the scale? Thank you! 


I would need to see the output to answer that. Please send it and your license number to support@statmodel.com. 


Hi My question is related to differing results for correlation matrices. I have run correlations based on mental health measure scores for couples in both Stata and in MPlus. However, I get vastly different results for these. I have 340 couples with no missing data. I have checked the data file and format command etc in case I have made a mistake somewhere but cannot work out why these would be so so different. I am using ML estimation in MPlus. Any advice welcome please! 


Please send the Mplus and Stata outputs and your license number to support@statmodel.com. 

Jamin Day posted on Sunday, August 09, 2015  11:29 pm



I have a dataset containing missing values and I'm curious as to how Mplus calculates the correlation/covariance matrices that are reported at the top of the output when running EFA. From what I can determine these seem to be *estimated* matrices, calculated using missing data theory, hence N is equivalent for all variables (is this correct?). Most other statistical packages I've tried calculate correlation matrices using listwise or pairwise deletion methods. I'm able to replicate the Mplus correlation matrix in R by using LISTWISE = ON under the DATA command, but I'm not able to replicate the correlation matrix otherwise so it would seem Mplus approaches this differently. Are you able to shed any light on what's happening 'behind the scenes' here? Many thanks 


The default is Mplus is to use all available information using missing data theory. 

Jamin Day posted on Monday, August 10, 2015  5:54 pm



Thanks Linda. Would it be correct to say that Mplus generates an estimated correlation matrix using FIML, whereas other software (e.g. SPSS) uses an observed correlation matrix with deletion methods? Just trying to clarify why I'm getting different matrices. 


Not sure how SPSS does it. Experiment by starting with one pair of variables and check the sample size. 


I am running a latent growth curve analysis using MLR in a sample of 130 subjects. I found that the correlation between the intercept and slope variables of interest is . 27, p = .18. Normally, a Pearson's correlation of this size (.27) would be highly significant in a sample of 130 subjects, but here it is not significant.My questions are: Are these correlations in the output strict Pearson correlations? Also, how is the pvalue for these correlations calculated? Could missing data estimation using MLR affect the pvalue? 


I think you are looking at a covariance not a correlation. The pvalue is taken from a ztable. 


Thank you, Dr. Muthen. I have a follow up question. In the latent growth curve analysis, I am looking at the relationship between a latent intercept slope with the following statement: Alpha_C WITH Beta2_P Here I get an estimate of .453, p =.026 How should I refer to such a parameter estimate when I report it in a journal article? 


It is either a covariance or a residual covariance depending on whether the variables are exogenous or endogenous. 


Hello! Mplus demonstrated the correlation matrix for the latent variables by TECH 4 But, the correlation matrix has unreasonable scores ( 0.000) in among some variables with gender & grade. Factor correlation matrix demonstrated reasonable scores with gender & grade like 0.104, 0.096 etc.. I think logically it is impossible, I cannot understand. Is the real scores (i.e., 0.00) in the correlation matrix for the latent variables? 


Please send the output and your license number to support@statmodel.com. 


Hello, Is it possible to specify the order of variables in the observed covariance matrix? The default seems to be that variables are processed according to their position in the Model command. In case of autoregressive models the second measurement is mentioned before the third and the third before the first. (x2 on x1; x3 on x2; x3 on x1;) It would be nice to observe the increase/decrease in the correlations due to the underlying change process with a natural progression of measurements without referring another statistical software. Best, Georg 


When you say observed covariance matrix, I assume your mean the correlation matrix from SAMPSTAT or TYPE=BASIC. I believe the order the the variables is taken from the USEVARIABLES list. 


Hi Linda, Yes, you are right. I thought I had had that checked. The USEVARIABLE option creates the order in the correlation matrix of the SAMPSTAT option. 


Hi, In my 2level analysis, I get in the beginning of the output the correlation matrix for all my study variables. Two questions: 1) Where can I find the p values for all correlations? 2) Do I understand correctly that there is no way I can get correlations between withinlevel variables and betweenlevel variables in my withinlevel correlation matrix? Thank you in advance! Best, Paris 


1) You would have to specify a model with y1yp WITH y1yp; where p is the number of variables. 2) You can get correlations between a betweenlevel variable and the betweenlevel part of a variable measured on within. 

Back to top 