我正在尝试使用mirt
包模拟来自IRT分级响应模型的响应模式。但是,当我使用simdata
函数时,它会给我以下错误:
Error in sample.int(length(x), size, replace, prob): too few positive probabilities
我试图模拟的数据集是一维的,40个项目中的每一个都有5个类别。 这是我写的代码:
set.seed(1)
true.abilities <- matrix(c(rnorm(1000)), 1000)
set.seed(1)
a <- matrix(c(runif(40, 0.6, 1.9)), 40)
set.seed(3)
b <- matrix(c(rnorm(40*4)), 40)
b <- t(apply(b, 1, sort, decreasing=FALSE)) #sort since intercepts are ordered
Form.X <- simdata(a, b, 1000, Theta=true.abilities, itemtype='graded')
还有另一个类似的问题,但答案对我没有帮助。 我还找到了一个用于模拟多维分级响应模式的代码,它起作用了,但是我的代码对于一维模型来说不起作用。
有关如何解决此问题的任何想法? 谢谢!