Simulate an Item Response Model
Simulates an item response model given a fitted object or input of item response probabilities and skill class probabilities.
sim_model(object=NULL, irfprob=NULL, theta_index=NULL, prob.theta=NULL, data=NULL, N_sim=NULL )
object
: Fitted object for which the methods IRT.posterior
, and IRT.data
are defined.irfprob
: Array of item response function values (items categories skill classes)theta_index
: Skill class index for samplingprob.theta
: Skill class probabilitiesdata
: Original dataset, only relevant for simulating item response pattern with missing valuesN_sim
: Number of subjects to be simulatedList containing elements - dat: Simulated item responses
theta: Simulated skill classes
theta_index: Corresponding indices to theta
## Not run: ############################################################################# # EXAMPLE 1: GDINA model simulation ############################################################################# data(sim.dina, package="CDM") data(sim.qmatrix, package="CDM") dat <- sim.dina Q <- sim.qmatrix # fit DINA model mod <- CDM::gdina( dat, q.matrix=Q, rule="DINA") summary(mod) #** simulate new item responses (N equals observed sample size) dat1 <- CDM::sim_model(mod) #*** simulate item responses for N=2000 subjects dat2 <- CDM::sim_model(mod, N_sim=2000) str(dat2) #*** simulate item responses based on input item response probabilities #*** and theta_index irfprob <- CDM::IRT.irfprob(mod) prob.theta <- attr(irfprob, "prob.theta") TP <- length(prob.theta) theta_index <- sample(1:TP, size=1000, prob=prob.theta, replace=TRUE ) #-- simulate dat3 <- CDM::sim_model(irfprob=irfprob, theta_index=theta_index) str(dat3) ## End(Not run)
Useful links