
Specify and run IRT models from R (using Conquest, TAM, or mirt), including equating methods and parameter transformation.
eatModel-package.RdThe software Conquest (Wu, Adams, Wilson, & Haldane, 2007) is a computer program for fitting item response and latent regression models. It is based on the Multi-dimensional mixed-Coefficients Multinomial Logit Model, which is a generalized form of the Rasch Model (Adams & Wu, 2007). For example, Conquest allows for the estimation of the Rasch model, the rating scale model, the partial credit model, the linear logistic test model, multifacet models, multidimensional and latent regression models.
Like Mplus, the interface of Conquest in its version 2.0 is command-line (cmd) based, where the syntax,
the data and fixed effects indicator names (i.e., names of items) have to be provided in separated ASCII
files. The package eatModel was originally created to allow for more fail-save, less cumbersome
specification of IRT models in R, which subsequently can be estimated in Conquest. The package translate
model specification and data from R into Conquest input syntaxes and re-imports Conquest output to R.
At the heart of the package are several functions, which build on each other and should be called consecutively.
Not every function is mandatory to be called—it depends on the desired analyses.
splitModelsis only necessary if the user wants to estimate several IRT models in a row, using only one function call. This might be useful, if, for example, one model should be fitted separately in various person groups, for example the federal states in Germany, or if one (unidimensional) model should be fitted separately for several domains (i.e., item groups), say listening comprehension and reading comprehension. Hence, the split may be defined according to person groups (federal states, for example), or item groups (domains) or both. If only one model should be defined and estimated, callingsplitModelsis not necessary and may be skipped. Start directly withdefineModelinstead. Hence, you may think ofsplitModelsas predefining a loop, likelapplyorby.defineModelis used to specify the model and the analysis software (e.g., Conquest or TAM) as well as the data. Several consistency checks are performed and all required input for the estimation software is prepared. If several models should be estimated in a row,defineModelneeds the output fromsplitModels. The variety of models that can be specified with defineModel is significantly reduced compared to specifying the models directly in TAM.runModelneeds the output generated bydefineModeland simply starts the ‘estimator’ (e.g. Conquest, TAM, or mirt)getResultsneeds the output generated byrunModeland re-collects all created model output which is represented then in a single R data frame. The aim of the function is to provide the model output in a consistent framework which is independent from the software used for analysis. Strictly speaking,getResultsisn't necessary, i.e. the user is free to work with the output provided by Conquest or TAM directly.equat1plneeds the output generated bygetResults. It provides equating in a one-parameter (1pl) context, accounting for linking DIF and a clustered structure of items (items nested in testlets). In the multiple model case (i.e., ifsplitModelswas called), the linking is executed for all defined models simultaneously.transformToBistaneeds the output generated byequat1pl. It provides transformation of item and person parameters to an arbitrary scale (for example the “PISA”-metric or the metric of the german educational standards).
The multi-stage process of model estimation works for one single model as well as for a compilation
of several models in only one call. The estimation of these models may be accelerated using multicore
processing. Depending on the number of available logical CPUs and working memory (RAM), several models
may be estimated simultaneously. The function splitModels allows to allocate the analyses
to several cores. See the examples of splitModels for further details. The help page of
defineModel includes a variety of examples which are derived from the context of the
“IQB Laendervergleich” studies.
Basically, eatModel is useful for Conquest analyses which are called from R. Alternatively,
the R packages TAM and mirt allow to estimate parameters of a variety of IRT models
in an R environment. eatModel allows all models to be estimated in TAM or mirt
likewise. The software argument in the defineModel function allows to choose
the desired software. Please note that some model specifications (for example, 2pl/3pl) lead to
models only TAM is able to estimate. Conversely, some other model specifications (for example,
partial credit models with many categories or differential item functioning) might be unstable in TAM.
Historically, eatModel is a ‘reboot’ of the package eatRest formerly known as
eat. The first development of some of its main functions started loosely in autumn 2009 at the
Institute of Educational Progress (IQB). For the first time, any attempts to develop an R package were
neither made nor intended. (Besides, no one knew how to do this.) The functions existed only in some ASCII
files which were loosely scattered across the IQB computers. As part of the gradual switchover from
SPSS to R which has taken place at the IQB, the package eat (“Educational Assessment Tools”)
was set up to bundle all functions which were developed by then. A gentle group that called itself
“Central coordination of data analysis” (ZKD) claimed responsibility for these courses of action.
This group's endeavors were driven by the burning desire to standardize assessment procedures between
different projects across the IQB. The “Laendervergleich 2011” was the first study where eat
has been used intensely. In 2012, during ZKD's first period of prosperity, the variety of the eat
functionality has been grown and was therefore partitioned into several small “sub packages”—by name
eatPrep for data preparation, eatTools for several auxiliary functions, eatRest for
Rasch modeling, eatRep for replication methods, eatDesign for definition and modification
of design properties. The further development of eatRest was expired because the package turned
out to be enigmaticly written which led to undebugable problems, especially with the ardently loved
results structure. ZKD authors did not understand any longer the code which has been written before.
Thus, eatModel is the second attempt, launched in summer 2014 and introduced in summer 2015.
Its functionality is closely related to eatRest but adds some new features—for example, the
support of 2pl and partial credit models using the TAM and mirt packages and several
linking procedures for more than two times of measurement.
References
Adams, R. J., Wilson, M., & Wang, W.-C. (1997). The multidimensional random coefficients multinomial logit model. Applied Psychological Measurement, 21(1), 1-23.
Adams, R. J., & Wu, M. L. (2007). The Mixed-Coefficients Multinomial Logit Model: A Generalized Form of the Rasch Model. In M. Von Davier & C. H. Carstensen (Eds.), Multivariate and Mixture Distribution Rasch Models (pp. 57-75). New York: Springer.
Robitzsch, A., Kiefer, T., & Wu, M. (2018). TAM: Test analysis modules. R package version 2.13-15. https://CRAN.R-project.org/package=TAM
Wu, M.L., Adams, R.J., Wilson, M.R., & Haldane, S.A. (2007). ACER ConQuest Version 2.0. Generalised Item Response Modeling Software. Camberwell, Victoria: ACER Press.