threshpar {psychotools} | R Documentation |
Extract Threshold Parameters of Item Response Models
Description
A class and generic function for representing and extracting the item threshold parameters of a given item response model.
Usage
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 'nplmodel'
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,
...)
Arguments
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. |
Details
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).
Value
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).
References
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.
See Also
personpar
, itempar
, discrpar
,
guesspar
, upperpar
Examples
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)
}