0

我拟合了一个模型,并产生了显着的交互作用。如何在图形中绘制它?

它遵循一个玩具示例(仅用于说明目的):

library(survival)
# includes bladder data set
library(survminer)
fit2 <- coxph(Surv(stop, event) ~ rx*enum, data = bladder )
# It plots only one single curve
ggadjustedcurves(fit2, data = bladder, variable = "rx")

我想要这样的东西:

ggadjustedcurves(fit2, data = bladder, variable = "rx") +
  facet_wrap(~enum)
ggadjustedcurves(fit2, data = bladder, variable = c("enum","rx"))

如果答案适用于分类x分类交互以及分类与连续交互,那就太好了。

4

1 回答 1

1

分类 x 分类

如果您将变量视为分类变量,则在变量“rx”中有 2 个组,在变量“enum”中有 4 个组,总共有 8 条曲线。

(1) 可视化它们的一种方法是在同一张图上绘制所有曲线:

bladder$rx_enum <- paste(as.character(bladder$rx), as.character(bladder$enum), sep="_")
ggadjustedcurves(fit2, data = bladder, method='average', variable = "rx_enum")

这可能不是最优雅的方式,您还必须调整颜色/线型以看起来更好。在这种情况下,我可能会尝试根据“rx”设置线型并根据“enum”设置颜色。palette使用-argument修改颜色相对容易:

ggadjustedcurves(fit2, data = bladder, method='average', palette = c(1,2,3,4,1,2,3,4), variable = "rx_enum")

...而修改线型可能更棘手。

(2) 显然,您也可以为任一变量的不同级别制作单独的面板。使用“rx”变量,您将有一个用于数据帧子集的面板,其中“rx”==1 和另一个“rx”==2。我可能不会使用单独的面板/图表,因为您可以在一个情节上直观地表示所有信息 - 除非您的叙述有必要/合理。但如果你想走那条路,请告诉我。

分类 x 连续

如果您对它进行分类,同样的方法也适用于连续变量。我不确定如何在保持连续变量的同时为连续变量制作 KM(甚至不确定它是如何可能的)。

注意:这个答案只考虑了生存分析中最常见的 KM 图,但可能还有其他选择。

于 2019-03-11T00:47:01.357 回答