Table 1. R Packages for Rasch Estimation from Dichotomous Data
Package Version Beta Extreme Missing data Dichotomous analysis Theta output
item person
autoRasch 0.1.5 JMLE res <- pcm(data) res$theta
eRm 1.0-2 CMLE res <- RM(data) summary(person.parameter(res))
ltm 1.2-0 MMLE res <- rasch(data, constraint = cbind(ncol(data) + 1, 1)) ✘factor.scores(res)
mixRasch 1.1 JMLE res <- mixRasch(data,1,50, conv.crit=.0001, n.c=1) res$person.par$theta
pairwise 0.5.0-2 PMLE ✘res <- pair(daten = data, m = 2) ✘summary(pers(res))
pcIRT 0.2.4 CMLE res <- DRM(data)
plRasch 1.0 LLA res <- RaschPLE(data, rep(1, ncol(data)), 1)
psychotools 0.7-1 CMLE res <- raschmodel(data) ✘personpar(res)
sirt 3.11-21 MMLE res <- rasch.mml2(data) wle.rasch(dat=data, b=res$item$b)
sirt 3.11-21 PMLE ✘res <- rasch.pairwise(data) (as above)
sirt 3.11-21 VA res <- rasch.va(data) (as above)
TAM 3.7-16 MMLE res <- tam.mml(data) tam.wle(res)$theta
tmt 0.3.0-20 CMLE res <- tmt_rm(data)
Winsteps 5.2.2 CMLE Excel/RSSST menu (same)
Winsteps 5.2.2 JMLE Excel/RSSST menu (same)

✔ = performance is satisfactory ✘ = performance is not available, failed or is not satisfactory † = Analysis proceeds, but extreme items or persons are omitted or ignored ‡ = Analysis fails. Extreme items must be removed from data frame. CMLE = Conditional Maximum Likelihood Estimation; JMLE = Joint MLE; MMLE = Marginal MLE; PMLE = Pairwise MLE; LLA = Log-Linear Association; VA = Variational Approximation

Int J Med Educ. 2022; 13:171-175; doi: 10.5116/ijme.629d.d88f