首页 > 解决方案 > Cox回归HR分组

问题描述

我想对以下问题进行 Cox 回归:一组患者是否接受“药物”治疗(0 / 1)。我的时间变量“时间”告诉我,观察患者的天数以及患者存活或死亡的“状态”(死亡 = 1,存活 = 0)。

library(survival)

set.seed(123)

df <- data.frame(time = round(runif(100, min = 1, max = 70)), 
                 status = round(runif(100, min = 0, max = 1)),
                 drug = round(runif(100, min = 0, max = 1)),
                 age40 = round(runif(100, min = 0, max = 1)), 
                 stringsAsFactors = FALSE)

object <- Surv(df$time, df$status)
model <- coxph(object ~ drug, data = df)
summary(model)

这对我来说很好,并告诉我,HR 为 0.89,因此该药物可以防止患者死亡。

现在我想做一些亚组分析,如果患者 <= 40 岁或 > 40 岁(年龄 40:0 对 1),HR 会如何变化。

我要做的就是将变量“age40”包含到 coxph 中吗?

object2 <- Surv(df$time, df$status)
model2 <- coxph(object2 ~ drug + age40, data = df)
summary(model2)

如果我这样做,我在 drug1 的摘要中的 HR 会略微更改为 0.86,而我会得到另一个 age40 (1.12) 的 HR。

现在我的问题是:如果患者 <= 40 或 > 40 岁,治疗中死亡的风险比(药物 = 1)如何。

编辑:另一个问题是以图形方式显示药物对森林图中状态影响的不同 HR,如下所示:https ://rpkgs.datanovia.com/survminer/reference/ggforest-2.png 。而不是“sex”、“rx”、“adhere”等。我想显示 Age40 = 0 对 1 的 HR 以及其他变量,如高血压 = 0 对 1,吸烟者 = 0 对 1。

谢谢!

标签: rcox-regression

解决方案


使用论据strata

coxph(object ~ drug + strata(age40), data = df)

推荐阅读