r语言 - 为时间相关生存分析创建开始/停止时间变量的函数



我正在为r中的时间相关Cox回归准备纵向数据集。我正在跟踪患者从出院日期(HospDis)到审查或死亡(Death),住院后长达10年。我有后续年份(FUPeriod)、后续日期(FU)和时变变量(Score)的数据,如下表所示:

<表类> ID FUPeriod HospDis傅死亡得分tbody><<tr>102011-01-01NANA75112011-01-012011-10-10NA34122011-01-01NA2012-03-15NA202011-02-18NANA115212011-02-182012-01-07NA124222011-02-182013-01-09NA122252011-02-182016-07-07NA1262102011-02-182021-04-30NA125
library(tidyverse)
library(lubridate)
df %>%
group_by(ID) %>%
mutate(end = interval(HospDis, FU) %/% months(1),
start = lag(end),
event = if_else(is.na(Score), 1, 0)) %>%
relocate(start, .after = Score)
# A tibble: 8 × 9
# Groups:   ID [2]
ID FUPeriod HospDis    FU         Death      Score start   end event
<dbl>    <dbl> <date>     <date>     <date>     <dbl> <dbl> <dbl> <dbl>
1     1        0 2011-01-01 NA         NA            75    NA    NA     0
2     1        1 2011-01-01 2011-10-10 NA            34    NA     9     0
3     1        2 2011-01-01 NA         2012-03-15    NA     9    NA     1
4     2        0 2011-02-18 NA         NA           115    NA    NA     0
5     2        1 2011-02-18 2012-01-07 NA           124    NA    10     0
6     2        2 2011-02-18 2013-01-09 NA           122    10    22     0
7     2        5 2011-02-18 2016-07-07 NA           126    22    64     0
8     2       10 2011-02-18 2021-04-30 NA           125    64   122     0

最新更新