Supplement 1. A sample of the R code is shown below: install.packages("ltm") install.packages("irtoys") install.packages("catR") require(ltm) require(irtoys) require(catR) parallel<-matrix(c(1),nrow=6,ncol=2) b_par<-read.table("E:\\med_cat_sim\\cat_simulations\\item_parameter_2.csv",header=T,sep=",") for(k in 1:6){ b<-b_par[,2] d<-rep(1,1012) a1<-b_par[,1] b1<-b c1<-rep(0,1012) EMT<-cbind(a1,b1,c1,d) theta.gen1<-rnorm(83,0,1) #################### D=1, theta=0, c=0 ################ ####### Item_Para<-data.frame(EMT) colnames(Item_Para)<-list("a","b","c","d") ########## CAT Constraint ############ Params<-Item_Para start1=list(seed=NA,nrItems=5,theta=1,startSelect="MFI") test1<-list(method="ML",itemSelect="MFI") test2<-list(method = "ML", priorDist = "Jeffreys", randomesque = 4) final<-list(method="EAP") stop1<-list(rule="precision",thr=0.05*k) #stop1<-list(rule="length",thr=n) res1 <- simulateRespondents(theta.gen1, Params, start = start1,test = test2, stop = stop1, final = final) estimate<-cbind(res1$final.value$true.theta, res1$final.value$estimated.theta, res1$final.value$final.SE,res1$final.value$total.items.administrated) parallel[k,1]<-cor(estimate[,1],estimate[,2]) # 1 parallel[k,2]<-mean(estimate[,4]) } parallel rownames(parallel)<-c("SEM=0.05","SEM=0.1","SEM=0.15","SEM=0.2","SEM=0.25","SEM=0.3")