IRT.informationCurves | R Documentation |
An S3 method which computes item and test information curves, see Muraki (1993).
IRT.informationCurves(object, ...)
## S3 method for class 'tam.mml'
IRT.informationCurves( object, h=.0001, iIndex=NULL,
theta=NULL, ... )
## S3 method for class 'tam.mml.2pl'
IRT.informationCurves( object, h=.0001, iIndex=NULL,
theta=NULL, ... )
## S3 method for class 'tam.mml.mfr'
IRT.informationCurves( object, h=.0001, iIndex=NULL,
theta=NULL, ... )
## S3 method for class 'tam.mml.3pl'
IRT.informationCurves( object, h=.0001, iIndex=NULL,
theta=NULL, ... )
## S3 method for class 'IRT.informationCurves'
plot(x, curve_type="test", ...)
object |
Object of class |
... |
Further arguments to be passed |
h |
Numerical differentiation parameter |
iIndex |
Indices of items for which test information should be computed. The default is to use all items. |
theta |
Optional vector of |
curve_type |
Type of information to be plotted. It can be |
x |
Object of class |
List with following entries
se_curve |
Standard error curves |
test_info_curve |
Test information curve |
info_curves_item |
Item information curves |
info_curves_categories |
Item-category information curves |
theta |
Used |
Muraki, E. (1993). Information functions of the generalized partial credit model. Applied Psychological Measurement, 17(4), 351-363. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1177/014662169301700403")}
## Not run:
#############################################################################
# EXAMPLE 1: Dichotomous data | data.read
#############################################################################
data(data.read, package="sirt")
dat <- data.read
# fit 2PL model
mod1 <- TAM::tam.mml.2pl( dat )
summary(mod1)
# compute information curves at grid seq(-5,5,length=100)
imod1 <- TAM::IRT.informationCurves( mod1, theta=seq(-5,5,len=100) )
str(imod1)
# plot test information
plot( imod1 )
# plot standard error curve
plot( imod1, curve_type="se", xlim=c(-3,2) )
# cutomized plot
plot( imod1, curve_type="se", xlim=c(-3,2), ylim=c(0,2), lwd=2, lty=3)
#############################################################################
# EXAMPLE 2: Mixed dichotomous and polytomous data
#############################################################################
data(data.timssAusTwn.scored, package="TAM")
dat <- data.timssAusTwn.scored
# select item response data
items <- grep( "M0", colnames(dat), value=TRUE )
resp <- dat[, items ]
#*** Model 1: Partial credit model
mod1 <- TAM::tam.mml( resp )
summary(mod1)
# information curves
imod1 <- TAM::IRT.informationCurves( mod1, theta=seq(-3,3,len=20) )
#*** Model 2: Generalized partial credit model
mod2 <- TAM::tam.mml.2pl( resp, irtmodel="GPCM")
summary(mod2)
imod2 <- TAM::IRT.informationCurves( mod2 )
#*** Model 3: Mixed 3PL and generalized partial credit model
psych::describe(resp)
maxK <- apply( resp, 2, max, na.rm=TRUE )
I <- ncol(resp)
# specify guessing parameters, including a prior distribution
est.guess <- 1:I
est.guess[ maxK > 1 ] <- 0
guess <- .2*(est.guess >0)
guess.prior <- matrix( 0, nrow=I, ncol=2 )
guess.prior[ est.guess > 0, 1] <- 5
guess.prior[ est.guess > 0, 2] <- 17
# fit model
mod3 <- TAM::tam.mml.3pl( resp, gammaslope.des="2PL", est.guess=est.guess, guess=guess,
guess.prior=guess.prior,
control=list( maxiter=100, Msteps=10, fac.oldxsi=0.1,
nodes=seq(-8,8,len=41) ), est.variance=FALSE )
summary(mod3)
# information curves
imod3 <- TAM::IRT.informationCurves( mod3 )
imod3
#*** estimate model in mirt package
library(mirt)
itemtype <- rep("gpcm", I)
itemtype[ maxK==1] <- "3PL"
mod3b <- mirt::mirt(resp, 1, itemtype=itemtype, verbose=TRUE )
print(mod3b)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.