使用dplyr在R中过滤之前的天数

时间:2018-11-21 16:23:01

标签: r dplyr

我正在尝试过滤最近30天的数据行。

last30
    X Y Z Date
    5 4 3 11/15/2018
    7 6 2 11/3/2018
    1 8 4 10/28/2018
    1 2 8 1/2/2018
    3 2 8 4/2/2018

使用dplyr,我尝试运行以下命令;当我这样做时,我没有返回任何值

last30 %>%
  filter(between(Date, today() - days(30), today()))

1 个答案:

答案 0 :(得分:0)

这是解决该问题的方法:

last30 <- data.frame(x = c(1,2,3,4,5),
                 y = c(2,1,5,1,5),
                 date = c("11/15/2018", "11/3/2018", "10/28/2018", "1/2/2018", "4/2/2018"))

last30$date <- as.Date(last30$date, format = "%m/%d/%Y")

temp <- subset(last30, last30$date < Sys.Date()-30)

首先将日期列更改为所需的格式,然后在数据集上进行子集设置。指示使用Sys.Date()作为R中的当前日期。

希望这会有所帮助。