【发布时间】:2020-07-15 09:55:48
【问题描述】:
我想通过查找外部“日期查找表”来改变包含日期列表的 tibble:
date_lookup<-tibble(start = lubridate::dmy("01012020", "01022020"),
end = lubridate::dmy("31012020", "28022020"),
id = c(1, 2))
df<-tibble(record = c("A", "B"),
date = lubridate::dmy("15022020", "03012020"))
如果df 中的日期介于date_lookup 中的开始日期或结束日期之间,我想从date_lookup 中提取适当的id。
我尝试了以下方法:
df %>% rowwise() %>%
mutate(id = ifelse(between(date, date_lookup$start, date_lookup$end), date_lookup$id, NA))
但如您所见,df 中的第一行显示为 NA(它应该显示数字 2)。
预期输出:
# A tibble: 2 x 3
# Rowwise:
record date id
<chr> <date> <dbl>
1 A 2020-02-15 2
2 B 2020-01-03 1
dplyr 解决方案更可取。
【问题讨论】: