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

无需拆分数据框,用survival包coxph实现社会经济地位分层Cox回归

分层Cox回归的实现与工具推荐

核心问题解答

完全不需要拆分数据框或筛选类别,直接用survival包的coxph()函数就能实现按社会经济地位(SES)的分层分析。关键是在模型公式中通过strata()函数指定分层变量,函数会自动在每个SES类别内拟合体力活动对全因死亡风险的效应,同时不会估计SES本身的主效应(分层操作会吸收组间的基线风险差异)。

代码示例

假设你的数据框为df,其中:

  • time为随访时间
  • status为死亡结局(1=死亡,0=截尾)
  • physical_activity为体力活动自变量
  • SES为已转换为因子的社会经济地位变量(低/中/高)

实现分层Cox回归的代码如下:

library(survival)

# 拟合分层Cox模型
strat_cox <- coxph(Surv(time, status) ~ physical_activity + strata(SES), data = df)

# 查看结果
summary(strat_cox)

若要检验分层是否必要,可对比分层模型与未分层模型的拟合优度:

# 未分层模型
unstrat_cox <- coxph(Surv(time, status) ~ physical_activity + SES, data = df)

# 模型比较
anova(strat_cox, unstrat_cox)

其他适用R包推荐

  • flexsurv:支持拟合多种参数化生存模型(如Weibull、Gompertz)和半参数化的Royston-Parmar样条模型,同样可通过strata参数实现分层分析,适合需要拓展模型形式的场景。
  • rms:专注于临床预测模型构建,其cph()函数支持分层Cox回归,还能便捷计算模型校准度、C指数,生成预测曲线,适合需要做模型验证和临床应用的研究。
  • survminer:作为生存分析可视化工具,可配合survival包的结果快速绘制分层生存曲线、森林图,让分层分析的结果更直观易懂。

内容的提问来源于stack exchange,提问作者Simen Løkken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:37:38