irt.ability {MiscPsycho} | R Documentation |
Returns the MLE, MAP, or the EAP given a set of item parameters
irt.ability(x, params, ind.dichot = NULL, std.err = FALSE, method = c("MLE", "MAP", "EAP"), control = list())
x |
a numeric vector of observed item responses. |
params |
item parameters organized as a list of lists. For more info see the Details section and the Examples below. |
ind.dichot |
a numeric vector that denotes which items in x are multiple choice items.
See the Examples below. |
std.err |
logical; if TRUE it returns the standard error. |
method |
a character string indicating which method to use; available options are Maximum Likelihood Estimation, Maximum A Posteriori and Expected A Posteriori. |
control |
a list of control parameters,
|
The function can be used for a mixture of dichotomously and polytomously scored items. For dichotomous items the Birnbaum's three parameter model is assumed for which a denotes the discrimination parameter, b the difficulty parameter and c the guessing parameter. For polytomous items the generalized partial credit model is assumed for which a denotes the discrimination parameter and d the threshold parameters. See the Examples below.
a numeric value. If std.err = TRUE
, it has also the attribute 'std.err' that contains the estimated
standard error for the estimated ability.
Harold C. Doran and Dimitris Rizopoulos
Thissen, D and Wainer, H. (2001). Test Scoring. Lawrence Erlbaum.
## all mix params <- list("3pl" = list(a = c(1,1), b = c(0, 1), c = c(0,0)), "gpcm" = list(a = c(1,1), d = list(item1 = c(0,1,2,3,4), item2 = c(0,.5,1, 1.5)))) irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MLE") irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MAP") irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "EAP") ## under the logit link irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MLE", control = list(D = 1)) irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "MAP", control = list(D = 1)) irt.ability(c(0,1,2,2), params, ind.dichot = c(1,2), method = "EAP", control = list(D = 1)) ## if all are dichotomous params <- list("3pl" = list(a = c(1,1), b = c(0, 1), c = c(0,0)), "gpcm" = NULL) irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MLE") irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MAP") irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "EAP") ## if all are polytomous params <- list("3pl" = NULL, "gpcm" = list(a = c(1,1), d = list(item1 = c(0,1,2,3,4), item2 = c(0,.5,1, 1.5)))) irt.ability(c(2,3), params, method = "MLE") irt.ability(c(2,3), params, method = "MAP") irt.ability(c(2,3), params, method = "EAP") ## With standard error irt.ability(c(2,3), params, method = "MLE", std.err = TRUE) irt.ability(c(2,3), params, method = "MAP", std.err = TRUE) irt.ability(c(2,3), params, method = "EAP", std.err = TRUE) ## From Test Scoring (Thissen) Page 115 params <- list("3pl" = list(a = c(1,2), b = c(0, 1), c = c(0,0)), "gpcm" = NULL) irt.ability(c(0,1), params, ind.dichot = c(1,2), method = "MLE", control=list(D=1)) a <- c(1.45, 1.84, 2.55, 2.27, 3.68, 4.07, 2.26, 1.87, 2.19, 1.33) b <- c(-.6, -.82, -1.6, -.87, -1.41, -1.33, -1.16, -.11, -.64, -1.23) params <- list("3pl" = list(a = a, b = b, c = rep(0, 10)), "gpcm" = NULL) x <- c(rep(0,9),1) irt.ability(x, params, ind.dichot = c(1:10), method = "EAP", control=list(D=1))