Learn R Programming

irt (version 0.1.1)

sim_resp: Generate responses for a given model

Description

sim_resp Generate dichotomous (0 or 1) or polytomous responses for given ability and item parameter.

Usage

sim_resp(ip, theta, prop_missing = 0)

# S4 method for Item sim_resp(ip, theta, prop_missing = 0)

# S4 method for Testlet sim_resp(ip, theta, prop_missing = 0)

# S4 method for Itempool sim_resp(ip, theta, prop_missing = 0)

# S4 method for numMatDfListChar sim_resp(ip, theta)

Arguments

ip

An Item-class, Itempool-class, Testlet-class object containing the item parameters.

theta

An object containing the subject ability parameters.

prop_missing

Proportion of responses that should be missing. Default value is 0. This argument is valid for only Itempool-class and Testlet-class objects.

Value

A vector of responses.

Examples

Run this code
# NOT RUN {
## Simulate Responses for an Item object ##
item <- generate_item(model = "3PL")
sim_resp(ip = item, theta = rnorm(1))

item <- generate_item(model = "GPCM")
sim_resp(ip = item, theta = rnorm(1))


item <- generate_item(model = "GRM")
sim_resp(ip = item, theta = rnorm(1))

## Simulate Responses for a Testlet object ##
# Create a testlet
testlet <- testlet(c(item(b = 1), item(a = .8, b = 3.1),
                   item(b = -1:1, model = "PCM")))
sim_resp(ip = testlet, theta = rnorm(1))
## Simulate Responses for an Itempool object ##
# Create 3PL IRT item parameters
ip <- itempool(a = rlnorm(10, 0, 0.3), b = rnorm(10), c = runif(10, 0, .3))
# Simulate responses for one theta:
sim_resp(ip = ip, theta = rnorm(1))
# Simulate responses for eight thetas:
sim_resp(ip = ip, theta = rnorm(8))

# Create Graded Response Model Parameters
n_item <- 10
ip_df <- data.frame(a = rlnorm(n_item, 0, 0.3), b1 = rnorm(n_item, -1, .5))
ip_df$b2 <- ip_df$b1 + runif(n_item)
ip_df$b3 <- ip_df$b2 + runif(n_item)
ip <- itempool(ip_df, model = "GRM", id = paste0("itm-", 1:n_item))
# Simulate responses for one theta:
sim_resp(ip = ip, theta = rnorm(1))
# Simulate responses for 5 thetas:
sim_resp(ip = ip, theta = rnorm(5))
# Set 10% of the item responses as missing
sim_resp(ip = ip, theta = rnorm(5), prop_missing = .1)
# }

Run the code above in your browser using DataLab