使用mirt包GPCM模型调用itemfit函数出现方法不匹配报错
解决mirt包itemfit函数调用报错问题
问题分析
你用mirt包拟合GPCM模型后,调用itemfit()时出现no applicable method for 'itemfit' applied to an object of class "c('SingleGroupClass', 'AllModelClass')"错误,这大概率是函数名冲突导致的——其他已加载的包(比如psych包)也有同名的itemfit函数,覆盖了mirt包的版本,进而无法识别SingleGroupClass类对象。
解决方案
1. 强制调用mirt包的itemfit函数
直接在调用时添加包名前缀,明确指定使用mirt包的函数:
mirt::itemfit(dat.fit)
2. 排查并解决包冲突
运行以下代码查看当前环境中itemfit函数的来源:
find("itemfit")
如果输出包含package:psych或其他非mirt的包,说明存在冲突。可通过两种方式解决:
- 重启R会话,仅加载mirt包后再运行代码
- 若不需要冲突包,用
detach("package:psych", unload=TRUE)卸载该包
3. 验证并更新mirt版本
确保使用最新版mirt包,运行代码更新:
install.packages("mirt")
补充说明
你的示例数据量极小(仅9个样本),后续得到的项目拟合统计量可靠性可能不足,建议尽量使用更大规模的数据开展IRT建模。
内容的提问来源于stack exchange,提问作者paboe
相关产品推荐
相关产品推荐

