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

如何在R中从rstpm2的Royston-Parmar模型计算Harrell's c统计量?

计算rstpm2构建的Royston-Parmar模型的C统计量

方法1:基于预测值手动计算(用Hmisc包)

Royston-Parmar模型属于参数化生存模型,C统计量(Harrell's C)可通过预测风险与实际结局的一致性来计算,步骤如下:

  • 用predict()从rstpm2模型中提取特定时间点的生存概率,转换为风险值(1 - 生存概率)
  • 结合结局变量,用Hmisc包的rcorr.cens()函数计算C统计量

示例代码:

library(rstpm2)
library(Hmisc)

# 示例数据与模型拟合
data(lung)
lung$status <- lung$status - 1 # 转换为0/1结局(0=存活,1=死亡)
fit <- stpm2(Surv(time, status) ~ age + sex, data = lung, df = 3)

# 获取随访365天的预测风险值
pred_risk <- 1 - predict(fit, newdata = lung, type = "surv", times = 365)

# 计算C统计量
c_result <- rcorr.cens(pred_risk, Surv(lung$time, lung$status))
print(c_result$C)

方法2:用survival包的concordance()函数

直接将预测风险作为变量,结合生存对象计算:

library(survival)

# 计算C统计量
concordance(Surv(time, status) ~ pred_risk, data = lung)

注意事项

  • 需确保预测风险的时间尺度与结局的随访时间匹配,若关注多时间点的C统计量,可循环计算或使用timeROC包做时间依赖ROC分析
  • 两种方法本质都是基于预测风险与实际结局的秩相关,结果应基本一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:22:02