我有数据帧df_master,它由多个患者的纵向数据(“record_id”)组成,其中每行代表一天的随访(“时间”)。
第二个数据帧具有患者复发的复发时间点。在这个玩具示例中,患者A在时间=2时复发一次,患者B在时间=1和时间=3时复发,并且患者C从未复发。
玩具数据:
library(tidyverse)
record_id <- c("A", "A", "A", "B", "B", "B", "B", "C", "C", "C", "C", "C")
time <- c(1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5)
df_master <- tibble(record_id, time)
record_id <- c("A", "B", "B")
day_relapse <- c(2, 1, 3)
df_relapses <- tibble(record_id, day_relapse)
我们的两个数据帧如下所示:
> print(df_master)
# A tibble: 12 Ã 2
record_id time
<chr> <dbl>
1 A 1
2 A 2
3 A 3
4 B 1
5 B 2
6 B 3
7 B 4
8 C 1
9 C 2
10 C 3
11 C 4
12 C 5
> print(df_relapses)
# A tibble: 3 Ã 2
record_id day_relapse
<chr> <dbl>
1 A 2
2 B 1
3 B 3
我想创建一个合并的数据帧,其中包括df_master的所有数据,其中变量day_relapse被添加到新的数据帧df_merged中,其中day_relapage的值为NA,除了给定record_id的时间==day_relape时,在这种情况下,day_relapise将等于时间值。合并后的数据帧应如下所示:
# A tibble: 12 Ã 3
record_id time day_relapse
<chr> <dbl> <dbl>
1 A 1 NA
2 A 2 2
3 A 3 NA
4 B 1 1
5 B 2 NA
6 B 3 3
7 B 4 NA
8 C 1 NA
9 C 2 NA
10 C 3 NA
11 C 4 NA
12 C 5 NA
如何生成合并后的数据帧?对于我正在创建的一种类型的游泳图,合并后的df的奇怪格式是必需的。提前谢谢。