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

R语言中coxph模型survfit绘图仅单条线的原因及解决方法

关于coxph模型survfit输出仅一条曲线的问题解答

为什么只显示一条线?

当你用survfit(coxph(Surv(time, status)~sex, data=lung))时,默认生成的是基准风险对应的生存曲线——也就是把所有协变量(这里是sex)设为参考水平(lung数据中sex=1是参考组,对应男性)时的生存曲线,所以只会输出一条线。

是否应该显示两条线?

这不是survfit(coxph(...))的默认行为。Cox比例风险模型的核心是估计协变量对风险比的影响,默认的生存曲线输出是基准线,而非按分组拆分的曲线。

如何得到两条线?

要生成不同性别对应的生存曲线,需要手动指定协变量的取值,通过newdata参数传递给survfit():

library(survival)
library(ggfortify)

# 先拟合Cox模型
cox_model <- coxph(Surv(time, status) ~ sex, data = lung)
# 构造包含两种性别取值的新数据集
new_data <- data.frame(sex = c(1, 2))
# 基于新数据集生成分组生存曲线
coxfit <- survfit(cox_model, newdata = new_data)
# 绘图
autoplot(coxfit)

这样就能得到对应两种性别的两条生存曲线了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:02:05