Steps toward a very crude and preliminary IRT program. These two functions estimate item difficulty and discrimination parameters. A better procedure is to use irt.fa
or the ltm package.
irt.item.diff.rasch(items)
irt.discrim(item.diff,theta,items)
a matrix of items
a vector of item difficulties (found by irt.item.diff)
ability estimate from irt.person.theta
a vector of item difficulties or item discriminations.
Item Response Theory (aka "The new psychometrics") models individual responses to items with a logistic function and an individual (theta) and item difficulty (diff) parameter.
irt.item.diff.rasch finds item difficulties with the assumption of theta=0 for all subjects and that all items are equally discriminating.
irt.discrim takes those difficulties and theta estimates from irt.person.rasch
to find item discrimination (beta) parameters.
A far better package with these features is the ltm package. The IRT functions in the psych-package are for pedagogical rather than production purposes. They are believed to be accurate, but are not guaranteed. They do seem to be slightly more robust to missing data structures associated with SAPA data sets than the ltm package.
The irt.fa
function is also an alternative. This will find tetrachoric
or polychoric
correlations and then convert to IRT parameters using factor analysis (fa
).