File: threshpar.Rd

package info (click to toggle)
r-cran-psychotools 0.6-0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,112 kB
  • sloc: ansic: 139; sh: 13; makefile: 2
file content (179 lines) | stat: -rw-r--r-- 7,591 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
\name{threshpar}
\alias{threshpar}
\alias{threshpar.raschmodel}
\alias{threshpar.rsmodel}
\alias{threshpar.pcmodel}
\alias{threshpar.plmodel}
\alias{threshpar.gpcmodel}

\alias{coef.threshpar}
\alias{print.threshpar}

\title{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, \dots)
  \method{threshpar}{raschmodel}(object, type = c("mode", "median", "mean"),
    ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE,
    \dots)
  \method{threshpar}{rsmodel}(object, type = c("mode", "median", "mean"),
    ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE,
    \dots)
  \method{threshpar}{pcmodel}(object, type = c("mode", "median", "mean"),
    ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE,
    \dots)
  \method{threshpar}{plmodel}(object, type = c("mode", "median", "mean"),
    ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE,
    \dots)
  \method{threshpar}{gpcmodel}(object, type = c("mode", "median", "mean"),
    ref = NULL, alias = TRUE, relative = FALSE, cumulative = FALSE, vcov = TRUE,
    \dots)
}

\arguments{
  \item{object}{a fitted model object whose threshold parameters should be
    extracted.}
  \item{type}{character of length one which determines the type of
    threshold parameters to return (see details below).}
  \item{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 \code{ref} can also be a
    list of contrasts. If \code{NULL} (the default), for all models except
    models etimated via MML, the relative threshold parameters are centered
    around their item-specific means and the absolute threshold parameters are
    centered around their global mean. For models estimated via MML
    (\code{plmodel}s and \code{gpcmodel}s), the parameters are by default
    identified via the distributional parameters of the person parameters (mean
    and variance of a normal distribution). Nevertheless, a restriction on the
    interval scale can be applied.}
  \item{alias}{logical. If \code{TRUE} (the default), the aliased parameter
    is included in the return vector (and in the variance-covariance matrix if
    \code{vcov} = TRUE). If \code{FALSE}, it is removed. If the restriction
    given in \code{ref} depends on several parameters, the first parameter of
    the restriction specified is (arbitrarily) chosen to be removed if
    \code{alias} is \code{FALSE}.}
  \item{relative}{logical. If set to \code{FALSE} (default), absolute item
    threshold parameters are returned. If set to \code{TRUE}, relative item
    threshold parameters with the contrast specified in argument \code{ref} are
    returned.}
  \item{cumulative}{logical. If set to \code{TRUE}, cumulative threshold
    parameters are returned. These correspond to the cumulative sum over the
    absolute or relative item threshold parameters (after the restriction given
    in argument \code{ref} has been applied).}
  \item{vcov}{logical. If \code{TRUE} (the default), the (transformed)
    variance-covariance matrix of the (relative) threshold parameters is
    attached as attribute \code{vcov}. If \code{FALSE}, a \code{NA}-matrix is
    attached.}
  \item{\dots}{further arguments which are currently not used.}
}

\details{
  \code{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 \code{threshpar}, methods to standard generic functions
  \code{print} and \code{coef} can be used to print and extract the threshold
  parameters.

  Depending on argument \code{type}, different item threshold parameters are
  returned. For \code{type = "mode"}, the returned item threshold parameters
  correspond to the location on the theta axis where the probability of category
  \eqn{k} equals the probability of category \eqn{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
  \code{type = "median"}, the returned item threshold parameters correspond to
  the location on the theta axis where the probability of choosing category
  \eqn{k} or higher, i.e., \eqn{P(X_{ij} >= k)}, equals 0.5. For \code{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, \dots{}. 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 \code{threshpar} and
  additional attributes \code{model} (the model name), \code{type} (the type of
  item threshold parameters returned, see details above), \code{ref} (the items
  or parameters used as restriction/for normalization), \code{relative} (whether
  relative or absolute item threshold parameters are returned),
  \code{cumulative} (whether the cumulative item threshold parameters are
  returned), \code{alias} (either \code{FALSE} or a named character vector or
  list with the removed aliased parameters), and \code{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.).
    \emph{Handbook of Modern Item Response Theory}.
    Springer, New York.
}

\seealso{\code{\link{personpar}}, \code{\link{itempar}}, \code{\link{discrpar}},
  \code{\link{guesspar}}, \code{\link{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)
}
}

\keyword{classes}