I understand that how the row "Robust CFI" is computed depends on several factors. I am trying to summarize my understanding, based on version history and posts I located here. I am not sure if I overlooked or misunderstood anything. Please correct me if I am wrong, and feel free to copy and update the summary.
First, if any of these is in `test` (see lavOptions), robust CFI will be printed
- "satorra.bentler", "yuan.bentler.mplus", "yuan.bentler", "scaled.shifted".
How robust CFI is computed will then be determined by these steps:
1) If all variables are categorical, the formula proposed by Savalei (2021) will be used.
2) If not all variables are categorical but FIML is used for missing data, then Zhang and Savalei (2022) will be used.
3) If not all variables are categorical and FIML is not used for missing data, then
3a) If "scaled.shifted" is in test, then Savalei (2018) will be used.
3b)
If "scaled.shifted" is not in test, then
Brosseau-Liard and Savalei (2014) is used.
I am not 100% certain about my understanding. Please correct any mistakes I made.
I did not use MLM, MLMV, etc. because they are shorthand to set settings. It is more precise, to me, to use the factors above.
I believe the steps are similar to TLI. I would like to have a similar summary for RMSEA but I would like to start with CFI first.
-- Shu Fai
Savalei, V. (2018). On the computation of the RMSEA and CFI from the mean-and-variance corrected test statistic with nonnormal data in SEM.
Multivariate Behavioral Research,
53(3), 419–429.
https://doi.org/10.1080/00273171.2018.1455142
Zhang, X., & Savalei, V. (2022). New computations for RMSEA and CFI following FIML and TS estimation with missing data.
Psychological Methods.
https://doi.org/10.1037/met0000445