M2: Compute the M2 model fit statistic

Description Usage Arguments Value Author(s) References Examples

View source: R/M2.R

Description

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.

Usage

1
2
3
M2(obj, calcNull = TRUE, quadpts = NULL, theta_lim = c(-6, 6),
  impute = 0, CI = 0.9, residmat = FALSE, QMC = FALSE, suppress = 1,
  ...)

Arguments

obj

an estimated model object from the mirt package

calcNull

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)

quadpts

number of quadrature points to use during estimation. If NULL, a suitable value will be chosen based on the rubric found in fscores

theta_lim

lower and upper range to evaluate latent trait integral for each dimension

impute

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

CI

numeric value from 0 to 1 indicating the range of the confidence interval for RMSEA. Default returns the 90% interval

residmat

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)

QMC

logical; use quasi-Monte Carlo integration? Useful for higher dimensional models. If quadpts not specified, 5000 nodes are used by default

suppress

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

Value

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.

Author(s)

Phil Chalmers rphilip.chalmers@gmail.com

References

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. doi: 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.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## 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)


## End(Not run)

xzhaopsy/MIRT documentation built on May 29, 2019, 12:42 p.m.