【问题标题】:How can I visualize an interaction in cox model in r?如何在 r 中可视化 cox 模型中的交互?
【发布时间】:2019-02-28 19:41:58
【问题描述】:

我拟合了一个模型并产生了显着的交互效应。如何将其绘制成图形?

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

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分类交互以及分类与连续交互,那就太好了。

【问题讨论】:

  • 正如它所写的那样,它似乎太宽泛了。这个问题没有承认解释中有重大问题。 cat-cat 和 cat-continuous 的答案请求实际上是一个多部分问题(不是 SO 的主题)
  • 你能举个例子 - 一个你想要实现的图表吗?
  • 这是一个有趣的问题:如何可视化交互以进行生存分析。 SO 和 SE 上没有太多关于它的内容。
  • @Oka:过去当我通过连续交互来可视化连续时,我使用了predict 的合成网格。我看不出为什么 expand.grid 具有预定水平的连续变量不能用于构造要拟合的变量,然后交给您在下面说明的方法。我总是使用rms 包来制作格子图。我不是 ggplot 代码库或其外观的忠实粉丝。当我遇到问题时,我无法“进入”ggplot 对象并修补内脏。
  • @42- 谢谢。我同时使用 ggplot 和 lattice ,而 ggplot 有时会令人沮丧(就像在这个例子中,改变线型似乎很棘手)。

标签: r survival-analysis cox-regression survival


【解决方案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 图,但可能还有其他选项。

【讨论】:

  • 此代码引发错误。这只是一个猜测,它是错误的。
  • @42- 你得到什么错误?它在我的设置上给出了一个好的图表(虽然给出了一些警告)?哪一部分是错的?
  • @42- 谢谢你的评论。我更正了代码:显然必须指定避免警告的方法。
  • 好的。固定的。新的rx_enum 也可以使用专为猫猫互动设计的interaction 创建。
猜你喜欢
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多