
Compare nested measurement-invariance models
Source:R/subpop_psychometrics.R
morie_invariance_compare.RdTakes fit statistics for a sequence of increasingly constrained models (configural, metric, scalar, and optionally strict) and reports, for each step, the change in comparative fit index and root mean square error of approximation together with the chi-square difference test.
Value
A data frame with one row per comparison: step,
delta_chisq, delta_df, p_value, delta_cfi,
delta_rmsea and supported, the last being TRUE when
both index changes stay inside their cut-offs.
Details
Invariance is what licenses comparing scores across groups at all. Without at least metric invariance a difference in means between groups may be a difference in what the instrument measures rather than in the trait, so this step precedes any substantive group comparison.
References
Cheung, G. W. and Rensvold, R. B. (2002) Evaluating goodness-of-fit indexes for testing measurement invariance. Structural Equation Modeling 9(2), 233–255.
Examples
fits <- data.frame(
model = c("configural", "metric", "scalar"),
chisq = c(120.3, 128.9, 162.4),
df = c(48, 54, 60),
cfi = c(0.981, 0.979, 0.964),
rmsea = c(0.041, 0.040, 0.052)
)
morie_invariance_compare(fits)
#> step delta_chisq delta_df p_value delta_cfi delta_rmsea
#> 1 configural -> metric 8.6 6 1.973547e-01 -0.002 -0.001
#> 2 metric -> scalar 33.5 6 8.400602e-06 -0.015 0.012
#> supported
#> 1 TRUE
#> 2 FALSE