sim.data.FCMIRT: Simulate FCMIRT Data

View source: R/sim.data.FCMIRT.R

sim.data.FCMIRTR Documentation

Simulate FCMIRT Data

Description

Simulates forced-choice ranking data using a MIRT item response model ("m1pl" through "m4pl") as the item-level endorsement model. Forced-choice responses are generated by applying the sequential Luce/Plackett choice rule to the logits of the item-level endorsement probabilities, with RANK, MOLE, and PICK patterns handled by model.FCMIRT. For identification, item difficulty/intercept parameters b are centered within each forced-choice block so that their block sum is zero.

Usage

sim.data.FCMIRT(
  N.person = 1000,
  N.block = 10,
  I.block = 2,
  D = 3,
  model = "m2pl",
  fc.type = "RANK",
  control = NULL
)

Arguments

N.person

Number of persons.

N.block

Number of forced-choice blocks.

I.block

Number of items per block when control$block.items is not supplied.

D

Number of latent dimensions. If control$Q.matrix is supplied, D is reset to ncol(control$Q.matrix).

model

MIRT model type: "m1pl", "m2pl", "m3pl", or "m4pl".

fc.type

Forced-choice response type: "RANK", "MOLE", or "PICK". A scalar value is recycled to all blocks.

control

Optional list. Supported entries are Q.matrix, block.items, and Corr.

Value

An object of class "data.FCMIRT", a list containing data, response, theta, par, Q.matrix, block.items, Corr, model, patterns, patterns.total, probability, prob, and data-generating arguments.

See Also

fit.FCMIRT, model.FCMIRT

Examples

set.seed(123)
sim <- sim.data.FCMIRT(N.person = 20, N.block = 3, I.block = 2,
                       D = 2, model = "m2pl", fc.type = "RANK")
str(sim$data)
head(sim$response)
dim(sim$prob)


ForceChoice documentation built on Sept. 13, 2026, 1:06 a.m.