Фильтр по двум наборам дат в фрейме данных
Я использую DBPLYR для доступа к базе данных. Тем не менее, я хотел бы отфильтровать по двум наборам дат. Я знаю, как сделать это в SQL, но не в dplyr или dbplyr.
Код SQL для этого будет
(start_date between date '2017-01-01' and date '2017-03-31') or (start_date
between date '2018-01-01' and date '2018-03-31'))
Как бы я преобразовать это в синтаксис dplyr?
1 ответ
Решение
x <- data.frame(date = sample(seq(as.Date('2017/01/01'), as.Date('2018/12/31'), by="day"), 365))
library(dplyr)
x %>%
filter(date > "2017-01-01" & date < "2017-03-01" |
date > "2018-01-01" & date < "2018-03-31")