You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中固定项目难度且含单值列时使TAM::tam正常运行?

解决TAM包tam()函数的维度错误问题

错误原因

你遇到的错误来自两个核心问题:

  • 仅输入1个受试者的数据,导致模型矩阵操作时出现维度不匹配;
  • item2的所有样本得分都是0(最大得分0),这类无变异项目会干扰模型的矩阵构建逻辑。

参数层面的解决方案

直接使用exclude.items参数排除无变异的item2即可解决问题,同时需要对应调整固定难度矩阵(只保留有效项目的难度值)。修改后的代码如下:

# 单个受试者数据
data <- t(c(item1 = 1, item2 = 0, item3 = 1))
# 调整固定难度矩阵:仅保留item1和item3的难度(对应排除item2)
difficulty_matrix <- cbind(c(1, 3), c(1.5, 1.0))
# 加载TAM包并拟合模型
library(TAM)
model_result <- tam(data, xsi.fixed = difficulty_matrix, exclude.items = "item2", verbose = F)
# 提取受试者能力值
model_result$person$theta

补充说明

无变异项目(全0/全满分)无法为IRT模型提供能力估计的有效信息,因此必须排除。如果一定要保留所有项目,添加虚拟行是唯一可行的替代方案,但参数层面没有办法强制模型处理这类无效项目。

内容的提问来源于stack exchange,提问作者Julien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:07:19