我想用df1
个匹配列中的新列更新df2
我的df1看起来像
PID Record date Drugs
123 22-04-1996 D1+D2
123 23-04-1996 D2+D3
123 28-05-2000 D3+D4+D5+D6
234 22-04-1996 D1+D3
234 23-04-1996 D2+D4
347 28-05-2000 D3+D4+D5+D7
456 22-04-1996 D1+D4
我的df2看起来像
PID Record date V1 V2
123 22-04-1996 5.5 6.5
234 05-07-1997 6.8 6.8
347 28-05-2000 8.5 8.6
456 23-04-1996 7.4 7.2
我希望我的df1
具有更新的列,例如
预期df1
PID Record date V1 V2 Drugs
123 22-04-1996 5.5 6.5 D1+D2
234 05-07-1997 6.8 6.8 NA
347 28-05-2000 8.5 8.6 D3+D4+D5+D7
456 23-04-1996 7.4 7.2 NA
我不想使用合并并创建新的df
,我想使用现有的df
谢谢
答案 0 :(得分:0)
这项工作:
> df1 %>% right_join(df2, by = c('PID', 'Record date')) %>%
+ arrange(PID) %>% relocate(1,2,4,5,3)
# A tibble: 4 x 5
# Groups: PID [4]
PID `Record date` V1 V2 Drugs
<dbl> <date> <dbl> <dbl> <chr>
1 123 1996-04-22 5.5 6.5 D1+D2
2 234 1997-07-05 6.8 6.8 NA
3 347 2000-05-28 8.5 8.6 D3+D4+D5+D7
4 456 1996-04-23 7.4 7.2 NA
>