Extract Threshold Parameters of Item Response Models
A class and generic function for representing and extracting the item threshold parameters of a given item response model.
threshpar(object, ...) ## S3 method for class 'raschmodel' threshpar(object, type = c("mode", "median", "mean"), ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE, ...) ## S3 method for class 'rsmodel' threshpar(object, type = c("mode", "median", "mean"), ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE, ...) ## S3 method for class 'pcmodel' threshpar(object, type = c("mode", "median", "mean"), ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE, ...) ## S3 method for class 'plmodel' threshpar(object, type = c("mode", "median", "mean"), ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE, ...) ## S3 method for class 'gpcmodel' threshpar(object, type = c("mode", "median", "mean"), ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE, ...)
object |
a fitted model object whose threshold parameters should be extracted. |
type |
character of length one which determines the type of threshold parameters to return (see details below). |
ref |
a vector of labels or position indices of (relative) threshold
parameters or a contrast matrix which should be used as restriction/for
normalization. For partial credit models, argument |
alias |
logical. If |
relative |
logical. If set to |
cumulative |
logical. If set to |
vcov |
logical. If |
... |
further arguments which are currently not used. |
threshpar
is both, a class to represent threshold parameters of item
response models as well as a generic function. The generic function can be
used to extract the threshold parameters of a given item response model.
For objects of class threshpar
, methods to standard generic functions
print
and coef
can be used to print and extract the threshold
parameters.
Depending on argument type
, different item threshold parameters are
returned. For type = "mode"
, the returned item threshold parameters
correspond to the location on the theta axis where the probability of category
k equals the probability of category k-1. For Rasch and partial
credit models, item threshold parameters of this type correspond directly to
the estimated absolute item threshold parameters of these models. For
type = "median"
, the returned item threshold parameters correspond to
the location on the theta axis where the probability of choosing category
k or higher, i.e., P(X_{ij} >= k), equals 0.5. For type =
"mean"
, the returned absolute item threshold parameters correspond to the
location on the theta axis where the expected category response is in the
middle between two categories, i.e. 0.5, 1.5, .... An illustration of
these threshold parameters can be found on page 104 in Masters & Wright
(1995).
A named list with item threshold parameters of class threshpar
and
additional attributes model
(the model name), type
(the type of
item threshold parameters returned, see details above), ref
(the items
or parameters used as restriction/for normalization), relative
(whether
relative or absolute item threshold parameters are returned),
cumulative
(whether the cumulative item threshold parameters are
returned), alias
(either FALSE
or a named character vector or
list with the removed aliased parameters), and vcov
(the estimated and
adjusted variance-covariance matrix).
Masters GN, Wright BD (1997). The Partial Credit Model. In Van der Linden WJ, Hambleton RK (eds.). Handbook of Modern Item Response Theory. Springer, New York.
o <- options(digits = 4) ## load verbal aggression data data("VerbalAggression", package = "psychotools") ## fit a rasch model to dichotomized verbal aggression data raschmod <- raschmodel(VerbalAggression$resp2) ## extract threshold parameters with sum zero restriction tr <- threshpar(raschmod) tr ## compare to item parameters (again with sum zero restriction) ip <- itempar(raschmod) ip all.equal(coef(tr), coef(ip)) ## rating scale model example rsmod <- rsmodel(VerbalAggression$resp) trmod <- threshpar(rsmod, type = "mode") trmed <- threshpar(rsmod, type = "median") trmn <- threshpar(rsmod, type = "mean") ## compare different types of threshold parameters cbind("Mode" = coef(trmod, type = "vector"), "Median" = coef(trmod, type = "vector"), "Mean" = coef(trmn, type = "vector")) if(requireNamespace("mirt")) { ## fit a partial credit model and a generalized partial credit model pcmod <- pcmodel(VerbalAggression$resp) gpcmod <- gpcmodel(VerbalAggression$resp) ## extract the threshold parameters with different default restrictions and ## therefore incompareable scales tp <- threshpar(pcmod) tg <- threshpar(gpcmod) plot(unlist(tp), unlist(tg), xlab = "PCM", ylab = "GPCM") abline(a = 0, b = 1) ## extract the threshold parameters with the first as the reference leading ## to a compareable scale visualizing the differences due to different ## discrimination parameters tp <- threshpar(pcmod, ref = 1) tg <- threshpar(gpcmod, ref = 1) plot(unlist(tp), unlist(tg), xlab = "PCM", ylab = "GPCM") abline(a = 0, b = 1) options(digits = o$digits) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.