如何使用 R 中的多个事件构建用于生存分析的数据?

How to structure data for survival analysis with multiple events in R?

背景

我有一个项目,我想比较一组接受处方药治疗的人 Y 发生健康事件的时间 X 和其他方面相似但未接受治疗的组(分别为 X=1 和 X=0),同时控制对于一组协变量 C.

我要回答这个问题的数据是某个地理区域在 7 年时间间隔内的健康保险索赔(public 保险)。

因为患者能够经历多个事件并且可以不止一次出现在数据库中(有或没有符合条件的暴露或事件),我选择了 Cox 模型作为我的分析方法,该模型在 ID 来说明主体内(within-ID)的相关性。不过,我不是生存分析方面的专家,而且我从未做过任何随机效应方面的工作。我将使用其 survival 包和方法分析 R 中的数据。

问题

我不确定如何组织我的数据来识别暴露者和发生事件的人。具体来说,我是否只在声明中标记 X=1 one one claim X=1 的人他们的曝光出现在什么地方,或者他们的每一个声明? (同样适用于结果:符合条件的结果是在所有索赔中标记为 Y=1,还是仅在出现相关诊断代码的索赔中?)

为了说明,这里有一个虚拟数据集代表第一种方法。我们称之为 选项 1:

  ID   | claim_date  | geo  | drug  | exposed | diagnostic_cd |  event  |
-------+-------------+------|-------|---------|---------------|---------|
 001   |  2011-01-30 | 123  |       |    0    |      LZ13     |    1    |
 001   |  2012-04-12 | 123  | D57   |    1    |      SS24     |    0    |
 001   |  2014-06-27 | 123  | A60   |    0    |               |    0    |
 002   |  2017-09-03 | 456  | D57   |    1    |      MN45     |    1    |
 002   |  2018-12-25 | 456  | C08   |    1    |      MN45     |    1    |

在这里,暴露在指标变量 exposed 中被标记为这样,并且它们仅在具有“暴露事件”的声明中被标记 - 符合条件 drugID 001 是 D57,ID 002 是 D57 和 C08。指标 event 也是如此,当存在符合条件的 diagnostic_cd 时等于 1(LZ13 代表 ID 001,MN45 代表 ID 002。)

相比之下,这是另一种方法 -- 选项 2:

  ID   | claim_date  | geo  | drug  | exposed | diagnostic_cd |  event  |
-------+-------------+------|-------|---------|---------------|---------|
 001   |  2011-01-30 | 123  |       |    1    |      LZ13     |    1    |
 001   |  2012-04-12 | 123  | D57   |    1    |      SS24     |    1    |
 001   |  2014-06-27 | 123  | A60   |    1    |               |    1    |
 002   |  2017-09-03 | 456  | D57   |    1    |      MN45     |    1    |
 002   |  2018-12-25 | 456  | C08   |    1    |      MN45     |    1    |

在这里,任何符合条件的drugdiagnostic_cd将在每一行标记你exposed=1event=1你的 ID 出现了。

我的直觉是 Option 1 是要走的路,但我真的无法解释为什么,我坐在这里怀疑自己。

此外,这可能是一个更适合 CrossValidated 的问题,所以请告诉我是否是这种情况,我会post 解决。

有什么想法吗?

最常见的方法是将暴露(在本例中为二进制暴露)编码为 1 或 0,并将事件编码为 1 或 0。这意味着选项 1 似乎是对任何生存建模的更标准方法分析数据集。

有很多方法可以分析重复事件的生存分析,脆弱模型只是其中之一。脆弱模型的一个问题是它假定所有事件都是平等的,但情况可能并非总是如此。 DAF Amorim 在 International Journal of Epidemiology (https://academic.oup.com/ije/article/44/1/324/654595) 上发表的一篇优秀教程是这篇论文。作者在 RStataSAS.

中提供了示例数据集和代码

您的数据似乎缺少的是开始日期,这对于任何生存分析都是必不可少的。