首页 > 解决方案 > R中的Cox PH时间相关协变量格式

问题描述

我正在尝试使用 R 中的时间相关协变量执行 Cox 比例风险分析。我已阅读相关文档(Therneau 等人)和几个教程,但鉴于协变量在数据。它是分段的时间相关/时变协变量。

感兴趣的结果是“死亡”,时间变量是“fu”,时间相关协变量包含在“asp”AKA 阿司匹林列中。例如,对于第一个病例,患者在基线、30 天和 1 年未服用阿司匹林,但最后一次随访时服用,在本例中为 2275 天。句点代表缺失的数据。

| ID    | aspb | asp30 | asp1y | aspfu | death | fu        |
|-------|------|-------|-------|-------|-------|-----------|
| 1479  | 0    | 0     | 0     | 1     | 0     | 2275      |
| 10523 | 1    | 1     | .     | .     | 1     | 41        |
| 25436 | 0    | 0     | 1     | 1     | 0     | 1773      |

我不知道如何实现表格的(开始,停止)格式,因为有1000多个案例。这也很复杂,因为案例之间的时间间隔不一定一致,即时间对应于“ aspfu" 可以介于 0 天、30 天、1 年、...

我确实在 SPSS 中使用时间相关协变量的以下符号完成了这个分析: (T_ < 1)*aspb + (T_ >=1 & T_ < 31)*asp30 + (T_ >= 31 & T_ < 366)* asp1y + (T_ >= 366)*aspfu。但我正在努力将其翻译成 R。

任何指导将不胜感激!非常感谢!

标签: rsurvival

解决方案


尝试这个:

## start time
df <- df %>%
  group_by(ID) %>%
  mutate(start_time = 0:(n() - 1))
df <- ungroup(df)

## end time
df <- df %>%
  group_by(ID) %>%
  mutate(end_time = 1:(n()))
df <- ungroup(df)
```

推荐阅读