You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.5 KiB
R

simIRT <- function(NBOBS=2000,DIM,MU,COV,COVM,DIS,DIF,PMI,PMAX,ACC,CLEAR,STORE,REP,PREF,DRAW,
DRAWALL,ICC,GR=0,RAND,DEL=0,RSM1,RSM2,THR,TIT,PCM,ID,GENP,GENI) {
if (GR < 0 | GR > 1) {
stop('Error 198: The GR option defines a probability. The values defined by this option must be greater (or equal) to 0 and lesser (or equal) to 1.')
}
if ( is.null(CLEAR) & is.null(STORE) ) {
stop('Error 198: You must use at least one of these two options: clear and/or store.')
}
if (!is.null(DIM)) {
nbdim <- length(DIM)
if (nbdim > 2 & is.null(COVM)) {
stop('Error 198: You can simulate data with one or two dimensions, and you have indicated more dimensions in the DIM option. Please correct it.')
}
if (!is.null(COVM)) {
nbrowcovm <- nrow(COVM)
if (nbdim != nbrowcovm) {
stop('Error 198: DIM and COVM dimension mismatch. Please correct.')
}
}
nbitems <- sum(DIM)
if (!is.null(DIF)) {
nbdiff <- length(DIF)
tmp <- DIF[1]
if (tmp=='gauss' | tmp=='uniform') {
typediff <- tmp
}
else if (nbdiff != nbitems) {
stop('Error 198: "You have indicated a number of difficulty parameters (DIF option) different of the number of items to simulate (DIM option). Please correct these options.')
}
}
else if (is.null(DIF)) {
DIF <- vector(mode='list', length=DIM)
for (d in seq(1,DIM)) {
DIF[[d]] <- c('gauss',0,1)
}
typediff <- 'gauss'
nbdiff <- length(DIF)*3
}
}
}