Learn R Programming

mirt (version 1.17.1)

areainfo: Function to calculate the area under a selection of information curves

Description

Compute the area within test or item information over a definite integral range.

Usage

areainfo(x, theta_lim, which.items = 1:extract.mirt(x, "nitems"), ...)

Arguments

x
an estimated mirt object
theta_lim
range of integration to be computed
which.items
an integer vector indicating which items to include in the expected information function. Default uses all possible items
...
additional arguments passed to integrate

Value

  • a data.frame with the lower and upper integration range, the information area within the range (Info), the information area over the range -10 to 10 (Total.Info), proportion of total information given the integration range (Info.Proportion), and the number of items included (nitems)

Examples

Run this code
dat <- expand.table(LSAT7)
mod <- mirt(dat, 1)

areainfo(mod, c(-2,0), which.items = 1) #item 1
areainfo(mod, c(-2,0), which.items = 1:3) #items 1 to 3
areainfo(mod, c(-2,0)) # all items (total test information)

# plot the area
area <- areainfo(mod, c(-2,0))
Theta <- matrix(seq(-3,3, length.out=1000))
info <- testinfo(mod, Theta)
plot(info ~ Theta, type = 'l')

pick <- Theta >= -2 & Theta <=0
polygon(c(-2, Theta[pick], 0), c(0, info[pick], 0), col='lightblue')
text(x = 2, y = 0.5, labels = paste("Total Information:", round(area$TotalInfo, 3),
           "\n\nInformation in (-2, 0):", round(area$Info, 3),
           paste("(", round(100 * area$Proportion, 2), "%)", sep = "")), cex = 1.2)

Run the code above in your browser using DataLab