【问题标题】:filter on two sets of dates in dataframe过滤数据框中的两组日期
【发布时间】:2018-06-18 13:51:25
【问题描述】:

我正在使用 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 语法?

【问题讨论】:

标签: r dplyr dbplyr


【解决方案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")

【讨论】:

  • 效果很好。正是我想要的。谢谢
猜你喜欢
  • 2022-12-21
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
相关资源
最近更新 更多