Computes the M2 (Maydeu-Olivares & Joe, 2006) statistic for dichotomous data and the M2* statistic for polytomous data (collapsing over response categories for better stability; see Cai and Hansen, 2013), as well as associated fit indices that are based on fitting the null model. Supports single and multiple-group models.
M2(obj, calcNull = TRUE, quadpts = NULL, theta_lim = c(-6, 6),
impute = 0, CI = 0.9, residmat = FALSE, QMC = FALSE, suppress = 1,
...)
an estimated model object from the mirt package
logical; calculate statistics for the null model as well?
Allows for statistics such as the limited information TLI and CFI. Only valid when items all
have a suitable null model (e.g., those created via createItem
will not)
number of quadrature points to use during estimation. If NULL
,
a suitable value will be chosen based
on the rubric found in fscores
lower and upper range to evaluate latent trait integral for each dimension
a number indicating how many imputations to perform
(passed to imputeMissing
) when there are missing data present. This requires
a precomputed Theta
input. Will return a data.frame object with the mean estimates
of the stats and their imputed standard deviations
numeric value from 0 to 1 indicating the range of the confidence interval for RMSEA. Default returns the 90% interval
logical; return the residual matrix used to compute the SRMSR statistic? Only the lower triangle of the residual correlation matrix will be returned (the upper triangle is filled with NA's)
logical; use quasi-Monte Carlo integration? Useful for higher dimensional models.
If quadpts
not specified, 5000 nodes are used by default
a numeric value indicating which parameter residual dependency combinations
to flag as being too high. Absolute values for the standardized residuals greater than
this value will be returned, while all values less than this value will be set to NA.
Must be used in conjunction with the argument residmat = TRUE
additional arguments to pass
Returns a data.frame object with the M2 statistic, along with the degrees of freedom,
p-value, RMSEA (with 90% confidence interval), SRMSR for each group (if all items were ordinal),
and optionally the TLI and CFI model fit statistics of calcNull = TRUE
.
Cai, L. & Hansen, M. (2013). Limited-information goodness-of-fit testing of hierarchical item factor models. British Journal of Mathematical and Statistical Psychology, 66, 245-276.
Chalmers, R., P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment. Journal of Statistical Software, 48(6), 1-29. 10.18637/jss.v048.i06
Maydeu-Olivares, A. & Joe, H. (2006). Limited information goodness-of-fit testing in multidimensional contingency tables Psychometrika, 71, 713-732.
# NOT RUN {
dat <- as.matrix(expand.table(LSAT7))
(mod1 <- mirt(dat, 1))
M2(mod1)
M2(mod1, residmat=TRUE) #lower triangle of residual correlation matrix
#M2 imputed with missing data present (run in parallel)
dat[sample(1:prod(dim(dat)), 250)] <- NA
mod2 <- mirt(dat, 1)
mirtCluster()
M2(mod2, impute = 10)
# }
Run the code above in your browser using DataLab