eatModel-package: Specify and run IRT models from R (using Conquest or TAM),...

eatModel-packageR Documentation

Specify and run IRT models from R (using Conquest or TAM), including equating methods and parameter transformation.

Description

The 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 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.

  • splitModels is 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, calling splitModels is not necessary and may be skipped. Start directly with defineModel instead. Hence, you may think of splitModels as predefining a loop, like lapply or by.

  • defineModel is 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, defineModel needs the output from splitModels. The variety of models that can be specified with defineModel is significantly reduced compared to specifying the models directly in TAM.

  • runModel needs the output generated by defineModel and simply starts the ‘estimator’ (e.g. Conquest or TAM)

  • getResults needs the output generated by runModel and 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, getResults isn't necessary, i.e. the user is free to work with the output provided by Conquest or TAM directly.

  • equat1pl needs the output generated by getResults. 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., if splitModels was called), the linking is executed for all defined models simultaneously.

  • transformToBista needs the output generated by equat1pl. 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, 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”.

Basically, eatModel is useful for Conquest analyses which are called from R. Alternatively, the R package TAM allows to estimate parameters of the mixed-Coefficients Multinomial Logit Model solely in an R environment. eatModel allows all models to be estimated in TAM 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.

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. Its functionality is closely related to eatRest but adds some new features—for example, the support of 2pl models using the TAM package.

Important note: For consistency reasons, some functions in eatModel have identical names as the corresponding function in eatRest, for example get.shw. It is strongly recommended to not have both packages attached simultaneously in one R session.

Details

Package: eatModel
Type: Package
Version: 0.8.50
Date: 2025-01-24
License: GPL(>=2)

Author(s)

Author/maintainer: Sebastian Weirich <sebastian.weirich@iqb.hu-berlin.de>

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.


weirichs/eatModel documentation built on Jan. 26, 2025, 4:01 p.m.