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

如何解决UseMethod报错:concordance函数无适用方法问题?

问题解决:concordance函数报错的修复方案

错误原因

你使用的survival包中的concordance()函数,无法直接接收数值类型的风险评分(p)和时间向量作为参数。该函数的设计是基于**生存分析对象(Surv)**来计算一致性指数(C-index),必须同时结合生存时间和事件状态信息,而非单独传入时间向量。

解决方法

你需要先利用数据集里的time(生存时间)和status(事件状态,0=删失,1=发生事件)列构造Surv对象,再结合预测得到的风险评分计算C-index。具体代码如下:

修正后的完整代码

library(survivalmodels)
library(survival)
library(reticulate)

set.seed(10)
data <- simsurvdata(20)
fit <- deepsurv(data=data[1:10, ])
p <- predict(fit, type="risk", newdata=data[11:20, ])

# 构造测试集的生存对象,必须包含time和status
test_surv <- Surv(data[11:20, "time"], data[11:20, "status"])
# 计算一致性指数
concordance(test_surv ~ p)

补充说明

  • simsurvdata()生成的数据集默认包含time和status字段,因此可以直接用来构造Surv对象。
  • concordance(test_surv ~ p)的写法会让函数基于生存对象和风险评分,正确计算两者之间的一致性,也就是生存分析中常用的C-index。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:01:07