Фильтр по двум наборам дат в фрейме данных

Я использую 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")
Другие вопросы по тегам