【问题标题】:Create a time-to-event kaplan meier plot with multiple events in R在 R 中创建包含多个事件的事件时间卡普兰梅尔图
【发布时间】:2021-09-27 03:42:10
【问题描述】:

我想创建一个卡普兰迈耶图。大多数教程都关注二元生存(死亡/生存),但就我而言,我想绘制事件的时间(1、2、3 次换药)。这可能吗?

这里有一些示例数据来说明我的观点。

library (data.table)
data <- data.table( ID                   = c(1,1,2,3,4,5,6,6,7,7,7,8,9,10,11,11,11,12,12,13,14,14,14,15,15,16),
                    episode              = c(1,2,1,1,1,1,1,2,1,2,3,1,1,1,1,2,3,1,2,1,1,2,3,1,2,1), 
                    time_till_next_ep    = c(0,5,0,0,0,0,0,8,0,4,14,0,0,0,0,6,17,0,9,0,0,4,9,0,8,0))

首先,我们有一个变量表示参与者ID

然后我们有一个变量表示药物episode。这意味着如果参与者在特定时间范围内服用某种类型的药物。大多数参与者只服药一次(第 1 集),但也有一些参与者会再次服药(第 2 集)或第 3 次(第 3 集)。

剧集之间的时间在time_till_next_ep 变量中以天为单位计算。由于第一种情况的情节之间没有时间,因此数据中有很多零。

我想创建一个 Kaplan-Meier-Graph:在 x 轴上是直到下一集的时间,在 y 轴上是剧集数。随着患者的每一个新情节开始,该图表将下降一步。

我尝试使用生存包来创建它,但它似乎不起作用

library(survival)

    S_input <- Surv(time = data[,as.numeric(time_till_next_ep)], event = data[,episode])
    
    km_fit <- survfit(S_input ~ 1, 
                  data = data, 
                  type = "kaplan-meier")
    
    km_fig <- ggsurvplot(km_fit, 
                         data,
                         tables.theme = theme_cleantable())

如果我检查输入的S_input数据,它似乎在我的时间数据旁边添加了问号

> S_input 
 [1]  0   5?  0   0   0   0   0   8?  0   4? 14?  0   0   0   0   6? 17?  0   9?  0   0   4?  9?  0   8?  0 

而且汇总数据并不能提供真正的信息:

> summary(km_fit)
Call: survfit(formula = S_input ~ 1, data = data, type = "kaplan-meier")

10 observations deleted due to missingness 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    0     16      16        0     NaN           NA           NA

消息说有 10 个观察因缺失而被删除,这些似乎是我的 10 次换药。

最后,我在绘图时收到以下错误:Error in f(...) : Aesthetics can not vary with a ribbon

在我的案例中,我是否正确地使用了生存分析,或者这真的是为二进制数据保留的?

【问题讨论】:

    标签: r plot survival-analysis survival


    【解决方案1】:

    正如你所提到的,你的设置不能用一个“简单”的生存模型来表示,在这个模型中,受试者由于一个独特的原因随着时间的推移而死亡/退出,因为有顺序发生的重复事件。 我认为您的设置最好在多状态模型中表示,它允许您显式地模拟事件之间的转换并考虑它们之间的时间交互。这是an excellent tutorial,您可以参考如何对重复事件进行建模。目前我无法为您提供具体案例的工作示例,但补充材料中报告了一些代码和数据。

    关于 Kaplan-Meier 本身,我认为您不能在不报告其中一个轴上的“生存份额”的情况下绘制它。并且 Kaplan-Meier 图仅在全因死亡率研究中是直截了当的。 多状态模型让您可以使用其他工具(例如转移概率)来绘制发生后续事件的风险。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多