group
tmf*_*mnk 5
如果可以有多个Yes值:
df %>% group_by(Code) %>% slice(if(all(Inst != "Yes")) 1:n() else which(Inst == "Yes")) Code Inst <chr> <chr>1 a Yes 2 b No 3 b No 4 b No 5 b No 6 b No考虑到更新的问题:
df %>% mutate(Date = as.Date(Date, format = "%Y-%m-%d")) %>% group_by(Code) %>% slice(if(all(Inst != "Yes")) 1:n() else which(Inst == "Yes")) %>% filter(Date == min(Date)) Code Inst Date <chr> <chr> <date> 1 a Yes 2021-01-012 b No 2021-01-063 b No 2021-01-064 b No 2021-01-06group