dfy<-tibble(ttc= c("830592962A","701134213K","620001491E","500542890M","400259766M","800136692H","701229741E"),
CaseDate1=c("01/04/2019","01/04/2019","02/04/2019","02/04/2019","02/04/2019","02/04/2019","03/04/2019"),
Theatre=c("RIE_TH_06","RIE_TH_06","RIE_TH_08","RIE_TH_08","RIE_TH_06","RIE_TH_06","RIE_TH_08"))
dss<-tibble(ttc=c("400259766M","800136692H","701229741E","830592962A","701134213K","620001491E","500542890M"),
D1=c("NA","01/04/2019","NA","01/04/2019","01/04/2019","02/04/2019","NA"),
D2=c("02/04/2019","NA","NA","NA","NA","NA","02/04/2019"),
D3=c("NA","NA","04/04/2019","NA","NA","NA","NA"),
C5=c("APPLE","ORANGE","PINE","MANGO","CHERRY","SUGAR","GREEN"))
- Во-первых, я хочу левое соединение файла на основе точных совпадений
dfy(ttc&CaseDate1)
dss(ttc& coalesce(D1,D2,D3))
Во-вторых, если нет точных совпадений, которые я хочу использовать (за день до или через день в dss(ttc& coalesce(D1,D2,D3))
dfy( 701229741E& 03/04/2019)
будет вычислено c в dss(701229741E&04/04/201)
на следующий день после или за день до
Я использовал следующий код и присоединился только к совпадающим ttc и датам
dfy %>%
left_join(dss %>% mutate(x = coalesce(D1, D2, D3)), by = c("ttc", "CaseDate1" = "x")) %>%
select(ttc, CaseDate1, Theatre, C5)