itemplot
displays various item based IRT plots, with special options for plotting items
that contain several 0 slope parameters. Supports up to three dimensional models.
itemplot(
object,
item,
type = "trace",
degrees = 45,
CE = FALSE,
CEalpha = 0.05,
CEdraws = 1000,
drop.zeros = FALSE,
theta_lim = NULL,
shiny = FALSE,
rot = list(xaxis = -70, yaxis = 30, zaxis = 10),
par.strip.text = list(cex = 0.7),
npts = 200,
par.settings = list(strip.background = list(col = "#9ECAE1"), strip.border = list(col =
"black")),
auto.key = list(space = "right", points = FALSE, lines = TRUE),
...
)
a computed model object of class SingleGroupClass
or MultipleGroupClass
. Input may also be a list
for comparing similar item types
(e.g., 1PL vs 2PL)
a single numeric value, or the item name, indicating which item to plot
plot type to use, information ('info'
), standard errors ('SE'
),
item trace lines ('trace'
), cumulative probability plots to indicate thresholds
('threshold'
), information and standard errors ('infoSE'
) or
information and trace lines ('infotrace'
),
category and total information ('infocat'
),
relative efficiency lines ('RE'
),
expected score 'score'
, or information and trace line contours ('infocontour'
and
'tracecontour'
; not supported for MultipleGroupClass
objects)
the degrees argument to be used if there are two or three factors.
See iteminfo
for more detail. A new vector will be required for three dimensional
models to override the default
logical; plot confidence envelope?
area remaining in the tail for confidence envelope. Default gives 95% confidence region
draws number of draws to use for confidence envelope
logical; drop slope values that are numerically close to zero to reduce
dimensionality? Useful in objects returned from bfactor
or other confirmatory
models that contain several zero slopes
lower and upper limits of the latent trait (theta) to be evaluated, and is
used in conjunction with npts
. Default uses c(-6,6)
logical; run interactive display for item plots using the shiny
interface.
This primarily is an instructive tool for demonstrating how item response curves
behave when adjusting their parameters
a list of rotation coordinates to be used for 3 dimensional plots
plotting argument passed to lattice
number of quadrature points to be used for plotting features. Larger values make plots look smoother
plotting argument passed to lattice
plotting argument passed to lattice
additional arguments to be passed to lattice
and coef()
Chalmers, R., P. (2012). mirt: A Multidimensional Item Response Theory Package for the R Environment. Journal of Statistical Software, 48(6), 1-29. doi:10.18637/jss.v048.i06
# \donttest{
data(LSAT7)
fulldata <- expand.table(LSAT7)
mod1 <- mirt(fulldata,1,SE=TRUE)
mod2 <- mirt(fulldata,1, itemtype = 'Rasch')
mod3 <- mirt(fulldata,2)
itemplot(mod1, 2)
itemplot(mod1, 2, CE = TRUE)
itemplot(mod1, 2, type = 'info')
itemplot(mod1, 2, type = 'info', CE = TRUE)
mods <- list(twoPL = mod1, onePL = mod2)
itemplot(mods, 1, type = 'RE')
# multidimensional
itemplot(mod3, 4, type = 'info')
itemplot(mod3, 4, type = 'info',
col.regions = colorRampPalette(c("white", "red"))(100))
itemplot(mod3, 4, type = 'infocontour')
itemplot(mod3, 4, type = 'tracecontour')
# polytomous items
pmod <- mirt(Science, 1, SE=TRUE)
itemplot(pmod, 3)
itemplot(pmod, 3, type = 'threshold')
itemplot(pmod, 3, CE = TRUE)
itemplot(pmod, 3, type = 'score')
itemplot(pmod, 3, type = 'score', CE = TRUE)
itemplot(pmod, 3, type = 'infotrace')
itemplot(pmod, 3, type = 'infocat')
# use the directlabels package to put labels on tracelines
library(directlabels)
plt <- itemplot(pmod, 3)
direct.label(plt, 'top.points')
# change colour theme of plots
bwtheme <- standard.theme("pdf", color=FALSE)
plot(pmod, type='trace', par.settings=bwtheme)
itemplot(pmod, 1, type = 'trace', par.settings=bwtheme)
# additional modifications can be made via update().
# See ?update.trellis for further documentation
(plt <- itemplot(pmod, 1))
update(plt, ylab = expression(Prob(theta))) # ylab changed
# infoSE plot
itemplot(pmod, 1, type = 'infoSE')
# uncomment to run interactive shiny applet
# itemplot(shiny = TRUE)
# }