Learn R Programming

TAM (version 4.2-21)

IRT.threshold: Thurstonian Thresholds and Wright Map for Item Response Models

Description

The function IRT.threshold computes Thurstonian thresholds for item response models. It is only based on fitted models for which the IRT.irfprob does exist.

The function IRT.WrightMap creates a Wright map and works as a wrapper to the WrightMap::wrightMap function in the WrightMap package. Wright maps operate on objects of class IRT.threshold.

Usage

IRT.threshold(object, prob.lvl=.5, type="category")

# S3 method for IRT.threshold print(x, ...)

IRT.WrightMap(object, ...)

# S3 method for IRT.threshold IRT.WrightMap(object, label.items=NULL, ...)

Value

Function IRT.threshold:

Matrix with Thurstonian thresholds

Function IRT.WrightMap:

A Wright map generated by the WrightMap package.

Arguments

object

Object of fitted models for which IRT.irfprob exists.

prob.lvl

Requested probability level of thresholds.

type

Type of thresholds to be calculated. The default is category-wise calculation. If only one threshold per item should be calculated, then choose type="item". If an item possesses a maximum score of \(K_i\), then a threshold is defined as a value which produces an expected value of \(K_i /2\) (see Ali, Chang & Anderson, 2015).

x

Object of class IRT.threshold

label.items

Vector of item labels

...

Further arguments to be passed.

Author

The IRT.WrightMap function is based on the WrightMap::wrightMap function in the WrightMap package.

References

Ali, U. S., Chang, H.-H., & Anderson, C. J. (2015). Location indices for ordinal polytomous items based on item response theory (Research Report No. RR-15-20). Princeton, NJ: Educational Testing Service. tools:::Rd_expr_doi("10.1002/ets2.12065")

See Also

See the WrightMap::wrightMap function in the WrightMap package.

Examples

Run this code
if (FALSE) {
#############################################################################
# EXAMPLE 1: Fitted unidimensional model with gdm
#############################################################################

data(data.Students)
dat <- data.Students

# select part of the dataset
resp <- dat[, paste0("sc",1:4) ]
resp[ paste(resp[,1])==3,1] <-  2
psych::describe(resp)

# Model 1: Partial credit model in gdm
theta.k <- seq( -5, 5, len=21 )   # discretized ability
mod1 <- CDM::gdm( dat=resp, irtmodel="1PL", theta.k=theta.k, skillspace="normal",
              centered.latent=TRUE)

# compute thresholds
thresh1 <- TAM::IRT.threshold(mod1)
print(thresh1)
IRT.WrightMap(thresh1)

#############################################################################
# EXAMPLE 2: Fitted mutidimensional model with gdm
#############################################################################

data( data.fraction2 )
dat <- data.fraction2$data
Qmatrix <- data.fraction2$q.matrix3

# Model 1: 3-dimensional Rasch Model (normal distribution)
theta.k <- seq( -4, 4, len=11 )   # discretized ability
mod1 <- CDM::gdm( dat, irtmodel="1PL", theta.k=theta.k, Qmatrix=Qmatrix,
              centered.latent=TRUE, maxiter=10 )
summary(mod1)

# compute thresholds
thresh1 <- TAM::IRT.threshold(mod1)
print(thresh1)

#############################################################################
# EXAMPLE 3: Item-wise thresholds
#############################################################################

data(data.timssAusTwn.scored)
dat <- data.timssAusTwn.scored
dat <- dat[, grep("M03", colnames(dat) ) ]
summary(dat)

# fit partial credit model
mod <- TAM::tam.mml( dat )
# compute thresholds with tam.threshold function
t1mod <- TAM::tam.threshold( mod )
t1mod
# compute thresholds with IRT.threshold function
t2mod <- TAM::IRT.threshold( mod )
t2mod
# compute item-wise thresholds
t3mod <- TAM::IRT.threshold( mod, type="item")
t3mod
}

Run the code above in your browser using DataLab