eip {shortIRT}R Documentation

Equal Interval Procedure

Description

Create a Short Test Form (STF) using the \theta-target procedure based on the equal segmentation of the latent trait (Equal Interval Procedure, EIP)

Usage

eip(
  data,
  item_par = NULL,
  seed = 999,
  starting_theta = NULL,
  num_item = NULL,
  theta_targets = NULL
)

Arguments

data

data.frame, subject \times item matrix containing the accuracy responses

item_par

matrix, two-column matrix containing the item parameters. The first column must contain the difficulty parameters b_i, the second column must contain the discrimination parameters a_i.

seed

integer, define the random seed. Default is 999

starting_theta

vector, define the starting \theta of the subjects. If empty, the \theta values will be estimated from the data

num_item

integer, the number of items to include in the short test form

theta_targets

vector, define the specific \theta targets for the user defined procedure. Might also be the same \theta target repeated for as many times as the number of items to be included in the short test form

Value

A list of length 5:

- item_stf: data.frame, contains the items included in the STF. The number of rows is equal to the number of items included in the STF. The \theta-targets and the item information functions of the optimal item for each \theta-target are reported as well

- summary: data.frame, contains the list of items included in the STF and the test information on both the full-length test and the STF

- info_stf: list, contains the item information functions of the STF

- info_full: list, contains the item information functions of the full-length test

- theta: data.frame, contains the starting \theta and the \theta estimated with the STF

Examples

# set a seed to replicate the results
set.seed(999)
# Simulate person and item parameters
true_theta <- rnorm(1000)
b <- runif(30, -3, 3)
a <- runif(30, 0.6, 2)
parameters <- data.frame(b, a)
# simulate data
data <- sirt::sim.raschtype(true_theta, b = b, fixed.a = a)
stf <- eip(data, starting_theta = true_theta, item_par = parameters, num_item = 5)
# check the obtained short test form
stf$item_stf
# check the comparison between the short test form and the full-length test
stf$summary

# Short test form with cut off values
stf_cutoff <- eip(data, starting_theta = true_theta,
item_par = parameters, theta_targets = rep(2, 5))
stf_cutoff$item_stf

[Package shortIRT version 0.1.3 Index]