Message/Author 


Some EFA programs such as BMDP4M and SAS Proc FACTOR return a variables by factors scoring coefficient matrix. I would like to be able to get that matrix for a promax rotated EFA in MPLUS with the WLSMV estimator. Is there any way to get that matrix? 


The WLSMV estimator is used with categorical outcomes. Unlike continuous outcomes, with categorical outcomes a factor score coefficient matrix is not used to produce the factor scores. Instead, factor scores for each person have to be estimated by an iterative technique (see Appendix 11 in the Mplus User's Guide). 

Anonymous posted on Wednesday, November 29, 2000  9:41 am



I'm trying to develop a factor that contains the same items at time 1 and time 2. I'd like to know that the relationships between my factor and items are similar (not significantly different) across time. How do I test this? 

bmuthen posted on Wednesday, November 29, 2000  10:10 am



You should test that the loadings are invariant over time while allowing factor variances to vary across time. You get the chisquare difference between the model with invariance and the model without invariance. With categorical outcomes, the analysis is a bit more involved. Here you need to hold both loadings and threshold invariant over time, letting factor means and variances vary across time, and letting scale factors vary across time (see the Muthen 1996 paper on growth modeling with binary responses as listed on this web site). 

Anonymous posted on Saturday, July 20, 2002  7:36 pm



As a followup to the message of Charles Cleland from Jan 31, 2000 concerning the estimation of factor scores using the stated iterative technique: I understand that a factor score matrix is not possible with categorical data. However, is there a facility in Version 2.1 to output the factor scores for each individual into a dataset using the stated iterative technique, for an EFA model with ordinal (3 level) indicators? Or with binary indicators as mentioned in Appendix 11 of the manual? Many thanks. 


Saving factor scores is not an option for EFA. It is an option for CFA for all variable types  continuous, binary, polytomous, and combinations of continuous, binary, and polytomous. If you want an EFA model, you can specify an EFA model in a CFA framework and get factor scores for that. 

Anonymous posted on Thursday, July 25, 2002  6:27 am



In doing an EFA in a CFA framework, is there any general advice about *which* parameters to be constrained to enable identifiability? For example suppose there are 20 categorical indicators and 3 factors, with all 20 indicators loading on each factor. I recall reading that there needs to be k^2 constraints for a kfactor "EFA in CFA" model, so 9 constraints here. One can fix the 3 latent variable variances at 1, but is there a general rule about how to determine which 6 paths to constrain to enable identifiability? 


I don't know of any reference for this, but we recommend selecting one item per factor as an anchor item. Anchor items have high loadings on their factor and low loadings on the other factors. You can fix the loadings of the anchor items for the factors for which they have low loadings to zero. This will give you the remaining six constraints that you need. 

Anonymous posted on Wednesday, December 04, 2002  12:10 pm



Is it possible to include an identifiaction variable(IDS) with save fscore coommand in mplus version 2? thanks 


Yes, see page 57 of the Mplus User's Guide. 


I am a new user on this program, we purchase this program for the purpose of generating factor scores (EFA model) for binary data in our research project. We were disopinnanted that the manual does not give enough information on this matter. Can anayone help me on having a sample program in doing EFA in CFA for the purpose of deriving the factor score? Thanks 


If you send me a fax number at support@statmodel.com, I can fax you the pages about EFA in a CFA framework from our course. 


To follow on Yuhchang Hwang's question above, thanks for your fax. But after incorporating the additional constraints into the CFA models, we still can't obtain the factor scores. The results are either "cannot converge" or "The correlation matrix is not positively definite". We made all attempts, but to no avail. Is there any other suggestion? Thanks! 


Why don't you send the output and data. I will take a look at it. 

Anonymous posted on Thursday, May 27, 2004  2:56 am



I have a similar question when doing EFA at CFA framework. From the EFA 4 factor testing, I define 4 Achors for the 4 factors and put in total 4*3= 12 constraints (zero loadings of each achors) and 4 constraints as factor variance to be fixed equal to one, but I still get the following error message: NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. FACTOR SCORES WILL NOT BE COMPUTED DUE TO NONCONVERGENCE OR NONIDENTIFIED MODEL. I don't understand why this model is nonidentified because I put in fact 4 square = 16 constraints already. And what's the problem of non convergence? my second question: when doing 2level EFA of CFA, should I seperate the two EFA models or I can do pooling model without consider the nest effect? Thanks a lot! 

bmuthen posted on Thursday, May 27, 2004  11:09 am



The error message also says NO CONVERGENCE, which means that factor scores will not be computed. The nonconvergence of the EFA within CFA may be due to not giving enough key starting values for the loadings. I would do Step 1 EFA, Step 3 EFA (pooledwithin), as well as EFA on the between matrix. 


I was trying to fit an EFA within CFA, and got similar error message. NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. Since this is EFA in CFA for categirical outcome, I used: ANALYSIS: Type = general ; estimator = wlsmv ; May I ask where is the problem here? Thanks a lot! Shuang 


It may be that you need starting values for some of the loadings as mentioned above. 

Shuang Wang posted on Tuesday, April 26, 2005  6:51 am



Hi Linda, Thanks for the promptly reply. I did add starting values as in the examples from the Mplus short course. Here is what I did: ANALYSIS: Type = general ; estimator = wlsmv ; MODEL: weak BY Q1 Q2 Q3 Q4 Q5 Q8 Q9 Q10 Q12 Q13 Q15 Q16 Q17 Q18* Q17@0 Q8@0 ; axiety BY Q1 Q2 Q3 Q4 Q5 Q8 Q9 Q10 Q12 Q13 Q15 Q16 Q17 Q18* Q2@0 Q8@0 ; slowness BY Q1 Q2 Q3 Q4 Q5 Q8 Q9 Q10 Q12 Q13 Q15 Q16 Q17 Q18* Q2@0 Q17@0 ; weak axiety slowness@1 ; weak WITH axiety ; weak WITH slowness ; axiety WITH slowness ; OUTPUT: sampstat standardized ; Where the Q2, Q17, and Q8 are the anchor items from the three factors. Is there anything wrong in the syntex? Thanks! Shuang 


The following statement only fixes the variance of slowness to one. weak axiety slowness@1 ; Change it to weakslowness@1 ; 

Shuang Wang posted on Tuesday, April 26, 2005  7:56 am



Linda, That is quick! I also tried weakslowness@1 before (and just tried it again), I still got the same error message. NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. Shuang 


Then try starting values that you take from your EFA for the factor loadings, for example, weak BY Q1*.8 Q2*8.5 Q3 Q4 Q5 Q8 Q9 Q10 Q12 Q13 Q15 Q16 Q17 Q18* Q17@0 Q8@0 ; Starting values are given using the * followed by a number. 

Shuang Wang posted on Tuesday, April 26, 2005  8:48 am



Linda, Thanks a lot! Somehow I still got the same error message after I specified starting values for each items. For example, I did: weak BY Q1*.8 Q2*.8 Q3 Q4 Q5 Q8 Q9 Q10 Q12 Q13 Q15 Q16 Q17 Q18* Q17@0 Q8@0 ; Shuang 


What you are showing is not giving starting values for each item. You need to give more than 2 starting values. And you need to use the factor loading values from your EFA not the ones I made up. You can choose the largest factor loadings to start. 

Shuang Wang posted on Tuesday, April 26, 2005  9:10 am



Linda, The number I added after * are the factor loadings from EFA, I did not make them up, they just happen to be around 0.8. I only added starting values for these two because only these two items are loaded on factor one. I did similarly for factor two and factor three, where I added factor loadings as starting values to those items that loaded on the factors. Do I understand your suggestion incorrectly? Thank you! Shuang 


I think you understand correctly. You must be doing something else. If you send your input/output and data along with your license number to support@statodel.com, we can take a look at it. Please also send your EFA output. 

Tomason posted on Thursday, April 28, 2005  2:47 am



I am a new user of Mplus. I want to do EFA for binary and ordinal responses. My question is how can I get factor scores? Anyone who help me by sending a code? Thank u in advance 


Factor scores cannot be saved for EFA only for EFA in a CFA framework or CFA. See Example 12.15 in the Mplus User's Guide to see how to save factor scores. Example 4.2 shows EFA for categorical factor indicators. 

Tomason posted on Saturday, April 30, 2005  7:11 am



Linda, thanks a lot for your advise. What I did after your comment , first I did EFA and then CFA and saved the factor scores. Am I correct? 

bmuthen posted on Saturday, April 30, 2005  11:29 am



I think Linda referred to "EFA in a CFA framework"  see the "Day 1" handout from the Mplus Short Courses. 

Anonymous posted on Tuesday, May 03, 2005  6:38 am



I am a new user of mplus . When I did EFA I got the following message *** ERROR Unexpected end of file reached in data file. What is wrong? 


You most likely have blanks in your data and are reading the data as free format. Because of this, Mplus is not finding enough information. If you cannot figure this out, you need to send your input, data, and license number to support@statmodel.com. 

Moris posted on Tuesday, May 03, 2005  10:02 am



I want to do reliability assessment using factor analysis. The measurements are taken at two time points and all the measurements are binary and polytomous. How can I do it? May you suggest me some reading further? 

bmuthen posted on Tuesday, May 03, 2005  3:04 pm



I am not sure if you want to know the reliability of an item, or how well a factor is measured, or using the factor model to find out the reliability of the sum of the items. In the first case, you can think of item reliability as the variance proportion of y* that is explained by a factor, where y* is an underlying continuous latent response variable. You get that from the Mplus output when requesting a standardized solution. In the second case, you want to find the precision with which a factor score is estimated  you find writings on this in the IRT literature under information functions. In the third case, you need to do some statistical calculations. 

Moris posted on Tuesday, May 03, 2005  10:37 pm



Thx Bmuthen. My idea is to see whether an items are reliable when they measured at two time points from same persons.It's like testretest method.If you have further suggestion,that is highly appreciated. 


I have a question regarding the EFA output. If I run an EFA I get as output: Varimax rotated loadings Promax rotated loadings estimated residual variances Factor structure Is the Factor structure the same as the unrotated loadings and if not what does it tell me? Thank you. 


Factor structure gives the correlations between the factors and the observed variables. 

Tait Medina posted on Monday, April 28, 2008  11:55 am



Dear Professors. I am hoping you might tell me why saving factor scores is not an option for EFA? Is this something you do not recommend doing? Thank you, Tait 


We don't do this because when someone extracts, for example, 1 through 8 factors, it would result in a lot of factor scores. There will be a new feature in Version 5.1 that will allow factor scores for an EFA model. 


Thank you for your response and I am looking forward to the next version with this new feature. In the meantime I plan to use EFA within a CFA framework to output factor scores (as suggested in a prior post). Would you expect factors scores from an EFA within a CFA framework to be fairly similar to factor scores from an EFA? Thank you. 


Yes. Version 5.1 will probably be available on Monday unless some disaster strikes. 

Tait Medina posted on Thursday, May 15, 2008  12:25 pm



I am having some difficulty saving factor scores following an EFA using version 5.1. I must be doing something wrong as all of the factor scores in the generated text file are equal to 0. I am using this model & savedata command: Model: f1f2 BY RimpbornRimpfeel(*1); Savedata: file is impfs.txt; save=fscores; 


This problem was discovered shortly after the release of Version 5.1. If you send your input, data, and license number to support@statmodel.com, I will run your analysis and send you the results. 


I am new to Mplus, but have used Proc Calis in SAS. I see from the above discussion on factor scoring coefficients that these coefficients are not available when using WLSMV, but what about when using ML with a continuous outcome. How would I get the factor scoring coefficients? 


If this is for EFA, perhaps the version you are using only reports the scoring coefficients for CFA. 


Thanks for the quick reply. I'm using Mplus 5.1. How would I get the scoring coefficients for CFA? (the coefficients that let me predict the latent score from the observed items). 


We don't give them currently for categorical outcomes. We will add this in the next update. 


Thanks again! How would I get the scoring coefficients for continuous outcomes? 


See formula 226 of Technical Appendix 11 which is on the website. 

abdul jalil posted on Tuesday, July 29, 2008  12:06 am



Hi, i want to know that to derive factor scors that can further be used for multiple regression analysis, factor analysis will be applied only to those variables that are independent or dependent variables are also included to derive principal factors. i need complete logical reason for an accurate stretegy 


Factor scores will be estimated based on all observed variables that are used in the model. They all contribute information about the factors. 

Tait Medina posted on Wednesday, January 21, 2009  2:55 pm



When saving factor scores, is there a way to change the default for missing from an asterisk (*) to a period (.)? 


No. But you could do a global replace on the dataset outside of Mplus. 


Dear Drs. Muthen, I am running an EFA with categorical outcome variables and trying to save factor scores. On 4/28/2008 L. K. Muthen wrote that version 5.1 would allow for saving factor scores in an EFA model but I am running version 5.2 and still got the error message *** WARNING in SAVEDATA command Factor scores cannot be computed for analysis types BASIC or EFA. Request to save FSCORES is ignored. Did I do something wrong or is this not possible without the EFA in a confirmatory framework mentioned above? Thank you 


If I wrote that, I was wrong. We do however give factors scores when EFA is run using our new ESEM model. See the Version 5.1 Examples and Language addenda on the website with the user's guide. 


Hi Michael. A couple of months ago, Linda Muthen helped me to extract factor scores for an efa. Here is the code she used: Model: f1f2 BY x1x7(*1); Savedata: file is example.txt; save=fscores; BTWI am still running version 5.1 


Yes, this is our new ESEM which started in Version 5.1. 


The code worked perfectly, thanks so much to both of you! 


I successfully conducted an EFA and had no convergence problems. However, when I specified one of the factor solutions from the EFA (which had no problems in the EFA and was a good fit) in an Exploratory SEM model to get the factor scores I could not get the model to converge. The solution was nonpositive definite. Do you have any idea what I may be doing wrong? Thank you. 


It sounds like the 1factor model in the context of a larger SEM has a problem. That can happen if the correlations between the factor indicators and these other SEM variables are not specified correctly. Can't say anything more specific without knowing more. 

Holly Burke posted on Saturday, June 23, 2012  10:57 am



Hello Dr. Muthen, Thank you for your response. I did not add any other variables to the ESEM. I only did the ESEM to get factor scores (since my variables are categorical) from the three factor solution I found acceptable from the EFA. Here is my EFA code: ANALYSIS: TYPE = COMPLEX MISSING; ROTATION = QUARTIMIN; Here is my ESEM code (using the same 11 variables with the same data): ANALYSIS: TYPE = COMPLEX MISSING; ROTATION = QUARTIMIN; MODEL: F1F3 BY HusNoChi PregProb q507A Q507B Q507E Q507F Q507G Q507H Q507J Q507K Q507L (*1); SAVEDATA: FILE = ESEM1OUT.TXT; SAVE = FSCORES; I am not sure what I am doing wrong, but the EFA 3factor solution converges and has good fit, but the ESEM solution does not work (THE RESIDUAL COVARIANCE MATRIX (THETA) IS NOT POSITIVE DEFINITE...FACTOR SCORES WILL NOT BE COMPUTED DUE TO NONCONVERGENCE OR NONIDENTIFIED MODEL.) I appreciate your help. 


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

ljc posted on Tuesday, December 10, 2013  9:02 am



Back in the 1990's when I first learned about EFA, I was taught to calculate factor scores by summing or averaging the variables that had high loadings on a factor. Although, I think this is a still common practice today, I assume that this is a really bad practice. What are your thoughts on this? Thank you. 


Probably not a terribly bad approximation if you have many such items, but why not use the estimated factor scores instead? Or better still, do SEM or ESEM without first going for the factor scores. 


Is it possible to request scoring coefficients in ESEM with categorical indicators? I am able to get factor scores using ESEM, but would like to get the scoring coefficients instead in order to apply them to another data set. Thank you. 


Factor score coefficients are available for only continuous indicators because factor scores are computed iteratively for categorical indicators. They can't be computed by hand. 


Thank you. Instead, I will get the scoring coefficients from an EMLFA. Could you please tell me where I might find information for applying scoring coefficients to raw data in Mplus? Thanks again. 


Technical Appendix 11 on the website shows how Mplus estimates factor scores. This cannot be done by hand for categorical indicators. It is an iterative procedure. 


Sorry, I think I wasn't clear in my previous post. I am hoping to get scoring coefficients for an EFA using ML estimation on continuous variables, and then apply these scoring coefficients to raw data. My question is: where might I find information for applying scoring coefficients to raw data in Mplus? I do not want the factor scores because I will be applying the scoring coefficients to a separate data set. Thanks again. 


Page 731 of the UG describes the FSCOEFFICIENT option for getting factor score coefficients for continuous outcomes. 


Hi, I tried running an EFA (5 categorical variables EB1EB5) and I got this message in the output: WARNING: THE BIVARIATE TABLE OF EB5 AND EB1 HAS AN EMPTY CELL. NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. PROBLEM OCCURRED IN EXPLORATORY FACTOR ANALYSIS WITH 1 FACTOR(S). NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED. PROBLEM OCCURRED IN EXPLORATORY FACTOR ANALYSIS WITH 2 FACTOR (S) Any suggestions on how to tackle this issue? Thanks! 


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

M.F. posted on Wednesday, June 08, 2016  1:52 am



Hello, is there any possibility to create factor score coefficients for models with categorical variables? I need them to create a weighted sum score and now I have no idea to weight except with the factor loadings. But this don't seeme to be a fine procedure in the literature. 


No, the scores are not obtained in that simple fashion with categorical variables but instead by an iterative technique. 


Dear MPLUS support, I am working on a two levels CFA. The structure is this (MPLUS annotation): lung1 by X1 X2 X3 X4; lung2 by X5 X6 X4; lung3 by X1 X7 X8 X9; SAD by lung1 lung2 lung3; My objective is to obtain a SAD score for new observations that I will have in the future, by using the previous model. Two questions on it: 1) In the previous model, I have 42 missing patterns for the FACTOR SCORE COEFFICIENTS. Is there an easy way to obtain from MPLUS a SAD score based on this model for new observations? Since manually is very difficult with 42 missing patterns. 2) In general, is it possible that the SAD score derived with the FSCoefficients is not in Monotonic relationship with the SAD score that MPLUS save (I mean the one I obtain with SAVEDATA: FILE=Fscores.dat;SAVE=FSCORES ;) ? Many Thanks, Marco Pannacci 


1) To get the SAD score for new observations you can fix all parameters at their estimated values and just ask for factor scores for these new observations. You do this easily using SVALUES in the first run and then change * to @ to fix the values for the second run. 2) They should agree if you do it correctly. 

Elaine Quah posted on Thursday, March 15, 2018  5:57 am



Hi there Muthen&Muthen, I am trying to generate predicted scores after running my EFA. I ran a parallel analysis which indicated I should extract 6 factors. Right now I want to generate subscale scores for these 6 factors. Would be grateful if you could advise the appropriate syntax to use. My current EFA syntax is: TITLE: EFA with continous Likert Scales scores for CEBQ at 5 years by Elaine Q. DATA: FILE IS "/WORK FOLDER/2018/MPlus/Validation of CEBQ at 5 years _copy_missing99.csv"; VARIABLE: NAMES ARE u1u35; MISSING is u1u35 (99); ANALYSIS: TYPE = EFA 6 8; Rotation IS CFVARIMAX; PARALLEL = 50; OUTPUT: MODINDICES; 


You can either use ESEM with 6 factors or Type = EFA 6 6 and add Savedata: Save = fscores; 

Elaine Quah posted on Thursday, March 15, 2018  6:32 pm



Dear Muthen, I'm afraid I'm still not generating the scoring coefficients right. Using the syntax you provided, MPLUS generated a "T=SAVE'FSCORES" file for me which i opened but found that it only contains what looks like my dataset containing only my original Likert Scale scores? Could you please advise on how to proceed or modify the syntax? 


Please send your output and data to Support along with your license number. 

Back to top 