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

4级有序结局3读片者配对混合模型repolr报错修复方法

报错核心原因

repolr包对输入数据集的排序有强制要求:必须先按subjects参数指定的受试者分组变量排序,同一受试者的所有重复测量记录连续排列,且组内记录顺序和times参数指定的测量时点顺序严格对应。
你当前使用的数据集是按读片者编号排序的:所有reader=1的50条记录在前、reader=2的50条记录居中、reader=3的50条记录在后,同一患者的3条读片结果分散在数据集的三个区段,导致函数构建设计矩阵时维度不匹配,触发报错。

报错修复代码

先对数据集按要求排序,再运行模型即可正常输出结果:

library(repolr)
# 按患者编号、读片者编号排序,保证同一患者的3条读片记录连续排列
mydata <- mydata[order(mydata$Patient, mydata$reader), ]

# 拟合模型
read_model <- repolr(
  formula = rsna ~ factor(reader),
  subjects = "Patient",
  data = mydata,
  categories = 4,
  times = c(1,2,3), # 与排序后每个患者组内reader1→reader2→reader3的顺序一致
  po.test = TRUE,
  fixed = FALSE
)

# 查看模型结果
summary(read_model)

注意:如果后续调整times参数的取值,必须同步保证排序后每个患者组内的记录顺序和times的顺序一一对应,否则会再次触发同类报错。

分析方法合理性说明

你提到的「以患者为随机效应的配对有序结局混合模型」完全适配该研究场景:

  • 研究设计为同批50名患者的影像由3名读片者独立判读,属于典型的受试者内重复测量配对设计,将患者设为随机效应可有效校正不同患者的基线判读结果异质性
  • 结局为4水平有序分类变量,除repolr外,也可使用ordinal包的clmm函数拟合累积链接混合效应模型,该函数对数据排序无强制要求,语法容错性更高,参考代码如下:
library(ordinal)
# 拟合带患者随机截距的比例优势模型
clmm_model <- clmm(
  factor(rsna) ~ factor(reader) + (1|Patient),
  data = mydata,
  link = "logit"
)
summary(clmm_model)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 05:03:39