sim.data.FCDCM: Simulate Data from the Forced-Choice DCM Model

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

sim.data.FCDCMR Documentation

Simulate Data from the Forced-Choice DCM Model

Description

Generates forced-choice paired-comparison data from a higher-order cognitive diagnostic model (DINA/DINO). The continuous higher-order trait governs attribute mastery probabilities via a logistic link; two-statement blocks produce binary choices based on attribute mastery patterns. In each block, selecting the first statement has probability \eta_0 when its condensed mastery is lower than the second statement's, 0.5 when they are equal, and 0.5+\eta_{AB} when it is higher.

Usage

sim.data.FCDCM(
  N.person = 1000,
  N.block = 10,
  D = 3,
  dcm.type = "DINA",
  control = NULL
)

Arguments

N.person

Integer; number of persons (default: 1000).

N.block

Integer; number of forced-choice block pairs (default: 10).

D

Integer; number of attributes (default: 3, must be >= 2).

dcm.type

Character; "DINA" (default) or "DINO".

control

Optional list with entries Q.matrix, block.items, single, delta1, delta0, theta, alpha, par. If block.items is omitted, statements are assembled into cross-Q-vector forced-choice blocks with balanced first/second positions and diversified attribute pairs. par is a B \times 2 matrix with columns eta0 and etaAB.

Value

An object of class "data.FCDCM" containing data, response, theta, alpha, zeta, par, Q.matrix, block.items, prob, and data-generating arguments.

See Also

fit.FCDCM, model.FCDCM

Examples

set.seed(123)
sim <- sim.data.FCDCM(N.person = 20, N.block = 3, D = 2,
                      dcm.type = "DINA")
str(sim$data)
head(sim$response)
head(sim$alpha)


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