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

使用risk regression包计算生存数据Brier分数时遇报错求助

使用riskRegression包计算生存数据Brier分数时遇错排查

我尝试用riskRegression包计算生存数据的Brier分数,运行以下代码后出现错误:

xy = Score(list(cox_ph), formula=Surv(time,status)~1,data=cox.train, metrics=c("brier","auc"), null.model=FALSE,times=time.int,debug = TRUE)

程序执行过程中先输出以下信息:

已提取测试集并准备输出对象。
已训练模型并提取预测结果,将权重与输入合并以计算性能指标,已为预测结果添加权重。

随后抛出错误:

Error in sindex(ind.controls[controls.index1 | controls.index2], 0) :
missing data

我已尝试调试但无法定位确切原因,特此求助。

排查建议

  • 检查time.int是否存在缺失值,或是否包含超出数据集最大生存时间的数值:Score函数的times参数要求时间点不能超过数据中观测到的最大事件时间,否则会引发内部索引错误。
  • 核实cox.train数据集的time和status列是否有缺失值:执行sum(is.na(cox.train$time))和sum(is.na(cox.train$status))检查,缺失值会导致索引计算异常。
  • 确认cox_ph模型是否基于完整数据集训练:若模型训练时使用了含缺失值的数据,可能在预测阶段传递无效信息,触发后续错误。
  • 尝试启用null.model=TRUE测试:暂时开启零模型,观察是否仍出现相同错误——如果零模型能正常运行,说明问题大概率出在cox_ph模型的预测结果上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:15:58