I believe it is simply RMSEA computed using the chi-square difference and model df difference:
library(lavaan)
#> This is lavaan 0.6-14
#> lavaan is FREE software! Please report any bugs.
# Adapted the example of cfa()
HS.model.1 <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9 '
fit.1 <- cfa(HS.model.1, data = HolzingerSwineford1939)
HS.model.2 <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9
visual ~~ 0 * textual + 0 * speed
textual ~~ 0 * speed'
fit.2 <- cfa(HS.model.2, data = HolzingerSwineford1939)
(lrt <- lavTestLRT(fit.2, fit.1))
#>
#> Chi-Squared Difference Test
#>
#> Df AIC BIC Chisq Chisq diff RMSEA Df diff Pr(>Chisq)
#> fit.1 24 7517.5 7595.3 85.305
#> fit.2 27 7579.7 7646.4 153.527 68.222 0.26875 3 1.026e-14 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Compute RMSEA using Chi-square difference and the df difference
rmsea_self <- sqrt(((lrt[2, "Chisq"] - lrt[1, "Chisq"]) - 3) / (3 * nobs(fit.2)))
rmsea_self
#> [1] 0.268752
# The RMSEA from the output of lavTestLRT()
rmsea_lrt <- lrt[2, "RMSEA"]
rmsea_lrt
#> [1] 0.268752
# Check if they are the same
all.equal(rmsea_self, rmsea_lrt)
#> [1] TRUE
Also see:
How it was computed:
Regards,
Shu Fai Cheung (張樹輝)