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

使用R语言获取Cox模型条件生存函数的95%置信带咨询

适配Cox模型置信带计算的R包推荐
  • coxed:专门针对Cox模型扩展的工具包,内置cox.surv函数直接支持条件生存函数的同时置信带计算,参数配置简单,可直接适配survival包输出的coxph拟合对象
  • confband:专注于生存模型置信带计算的轻量包,支持Hall-Wellner、等精度等多种置信带算法,可直接适配Cox模型输出结果
  • survival:基础生存分析核心包,需配合额外的校正计算逻辑实现同时置信带,适合需要自定义算法的场景
完整实现代码示例

以下用R内置的肺癌数据集lung做演示,计算指定协变量取值下Cox模型的条件生存函数及95%同时置信带:

# 安装依赖包(首次运行执行)
install.packages(c("survival", "coxed"))

# 加载包
library(survival)
library(coxed)

# 1. 拟合Cox比例风险模型
data(lung)
cox_fit <- coxph(Surv(time, status) ~ age + sex + ph.ecog, data = lung)

# 2. 指定要计算条件生存函数的协变量取值
# 示例:60岁、男性、ECOG评分为1的患者
cov_profile <- data.frame(age = 60, sex = 1, ph.ecog = 1)

# 3. 计算条件生存函数+95%同时置信带
surv_result <- cox.surv(
  model = cox_fit,
  newdata = cov_profile,
  conf.level = 0.95,
  conf.band = TRUE # 核心参数,指定输出同时置信带而非逐点区间
)

# 查看前6行结果(包含时间点、生存概率、置信带上下限)
head(surv_result)

# 4. 绘制生存曲线+置信带
plot(
  x = surv_result$time,
  y = surv_result$surv,
  type = "l", lwd = 2,
  xlab = "生存时间(天)", ylab = "条件生存概率",
  ylim = c(0, 1)
)
lines(surv_result$time, surv_result$surv.lower, lty = 2, col = "red")
lines(surv_result$time, surv_result$surv.upper, lty = 2, col = "red")
legend(
  "topright",
  legend = c("条件生存曲线", "95%同时置信带"),
  lty = c(1, 2), col = c("black", "red"), lwd = c(2, 1)
)
注意事项
  • 若需要使用其他类型的置信带算法,可替换为confband包的cb.coxph函数,传入拟合好的coxph对象和协变量取值即可
  • 同时置信带的计算默认采用对数变换校正,保证结果不会出现生存概率超出[0,1]范围的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:03