我想知道是否有人可以帮助我。 我试图对我的数据运行diff分析,但不断收到theta.sparse错误,我不确定如何修复。我真的很感激你能给我的任何东西。
library(lordif)
dat<- read.csv2("OPSO.csv",header=TRUE)
datgender <- read.csv2("DATA.csv",header=TRUE)
group<-datgender$Gender
sink("outputDIFopso.txt")
gender.difopso <- lordif(dat, group, selection = NULL,
criterion = c("Chisqr", "R2", "Beta"),
pseudo.R2 = c("McFadden", "Nagelkerke", "CoxSnell"), alpha = 0.01,
beta.change = 0.1, R2.change = 0.02, maxIter = 10, minCell = 5,
minTheta = -4, maxTheta = 4, inc = 0.1, control = list(), model = "GRM",
anchor = NULL, MonteCarlo = FALSE, nr = 100)
print(gender.difopso)
summary(gender.difopso)
sink()
pdf("graphtestop.pdf")
plot(gender.difopso)
dev.off()
dev.off()
lordif出错(dat,group,selection = NULL,criterion = c(&#34; Chisqr&#34;,: 对象&#39; theta.sparse&#39;找不到
谢谢:)
答案 0 :(得分:0)
您应该在此之前检查错误行。输出可能会说您没有标记为DIF的项目。在这种情况下,您应该运行mirt
函数并根据需要提取theta
和ipar
个对象。
作者可以在compare(flags, flags.matrix)
为真时添加一些案例处理。至少,当没有DIF的项目与
if (ndif == ni) {
warning("all items got flagged for DIF - stopping\n")
}
并且(ndif == 0)
虽然compare(flags, flag.matrix)
评估为TRUE
,但没有案例处理。
当所有项目或没有项目具有DIF时的含义是,通过在组合样本中合并mirt
(无DIF)或两个,您将得到相同的结果(生成相同的ICC图,相同的推断等)每组(或所有DIF)的更多mirt
个模型。因此,当所有故障发生时,它是一个正确的节省时间的程序。