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

在R中基于CPH回归开展糖尿病与尿量亚组生存分析求助

问题描述

需要在R中通过Cox比例风险(CPH)回归开展亚组分析,探究糖尿病(Y/N)与尿量(≥200ml/<200ml)的交互作用对生存结局的影响。目前已完成糖尿病亚组(覆盖所有尿量)的CPH分析,并创建了糖尿病与尿量的组合分组变量,现需基于该组合分组,分析不同尿量分组中糖尿病对生存的影响。

解决方案

1. 修正组合分组变量的代码错误

你提供的代码中存在一处笔误:xxxxl$diabfl应为xxxx$diabfl,修正后的组合分组变量创建代码如下:

# 创建尿量分组变量(≥200ml=1,<200ml=0)
xxxx$uacr200 <- ifelse(xxxx$uacr >= 200, 1, 0)

# 创建糖尿病+尿量的组合分组变量
xxxx$dmuacrgr <- NA
xxxx$dmuacrgr[xxxx$uacr < 200 & xxxx$diabfl == "N"] <- 1  # 无糖尿病+尿量<200ml
xxxx$dmuacrgr[xxxx$uacr >= 200 & xxxx$diabfl == "N"] <- 2 # 无糖尿病+尿量≥200ml
xxxx$dmuacrgr[xxxx$uacr < 200 & xxxx$diabfl == "Y"] <- 3  # 有糖尿病+尿量<200ml
xxxx$dmuacrgr[xxxx$uacr >= 200 & xxxx$diabfl == "Y"] <- 4 # 有糖尿病+尿量≥200ml

# 将组合分组转为因子并指定参考组(建议选临床意义最明确的组,比如组1)
xxxx$dmuacrgr <- factor(xxxx$dmuacrgr, levels = c(1,2,3,4),
                        labels = c("无糖尿病+尿量<200ml", "无糖尿病+尿量≥200ml",
                                   "有糖尿病+尿量<200ml", "有糖尿病+尿量≥200ml"))

2. 基于组合分组的Cox回归分析

以下提供两种等价的分析思路,可根据需求选择:

思路一:直接纳入糖尿病与尿量的交互项建模

这种方式能直接检验交互作用的统计学显著性,同时得到各亚组的风险比:

# 拟合包含交互项的Cox模型
cox_mod_interaction <- coxph(Surv(aval, cnsr == 0) ~ trt + diabfl * uacr200 + 
                              mageg1n + mgfrg1n + msexg1n + muacrg1n + sitegr2n,
                            data = zzzz, subset = (paramcd == "KDPDVASC"), ties = "breslow")

# 查看模型结果(包括交互项的HR和P值)
summary(cox_mod_interaction)
  • 结果中diabflY:uacr2001是糖尿病与尿量的交互项,其P值可判断交互作用是否显著;
  • 若交互项显著,可进一步分层分析:分别在uacr200=0和uacr200=1的亚组中拟合Cox模型,查看糖尿病对生存的影响。

思路二:使用预定义的组合分组变量建模

通过组合分组变量直接对比各组的风险,直观展示不同尿量分组中糖尿病的影响:

# 拟合包含组合分组的Cox模型
cox_mod_group <- coxph(Surv(aval, cnsr == 0) ~ trt + dmuacrgr + 
                              mageg1n + mgfrg1n + msexg1n + muacrg1n + sitegr2n,
                            data = zzzz, subset = (paramcd == "KDPDVASC"), ties = "breslow")

# 查看各组相对于参考组(无糖尿病+尿量<200ml)的HR
summary(cox_mod_group)
  • 结果中dmuacrgr的各水平对应的HR,可直接对比:
    • dmuacrgr无糖尿病+尿量≥200ml:无糖尿病时,尿量≥200ml vs <200ml的HR;
    • dmuacrgr有糖尿病+尿量<200ml:尿量<200ml时,有糖尿病 vs 无糖尿病的HR;
    • dmuacrgr有糖尿病+尿量≥200ml:尿量≥200ml时,有糖尿病 vs 无糖尿病的HR。

3. 亚组分析结果可视化(可选)

如果需要直观展示亚组结果,可使用subgroupAnalysis函数或森林图工具:

# 使用subgroupAnalysis分析尿量亚组中糖尿病的影响
subg_cox_mod_uacr <- subgroupAnalysis(cox_mod_interaction, 
                                      zzzz[zzzz$paramcd == "KDPDVASC",],
                                      treatment = "trt",
                                      subgroups = c("uacr200", "diabfl"),
                                      confint.method = "default")

# 绘制森林图(以forestmodel包为例)
library(forestmodel)
forest_model(cox_mod_interaction, 
             exponentiate = TRUE,
             include = c("diabfl", "uacr200", "diabflY:uacr2001"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:45:11