使用dplyr根据日期变量过滤行

时间:2016-01-22 08:21:34

标签: r dplyr

我想通过列" Date"来过滤data.frame。或" ID"。

date <- seq(as.POSIXct(strptime("2016-02-01 23:59:59", format = "%Y-%m-%d %H:%M:%S")),by="month",length.out=3)-86400
df <- data.frame(Date = date, ID = c(1, 2, 3))
select <- "ID"

df %>% filter_(paste(select, "==", 1))

这很好,但是当我尝试过滤POSIXct-Date:

select <- "Date"
df %>% filter_(paste(select, "==", date[1]))

我收到错误消息。知道如何才能让它发挥作用吗?

1 个答案:

答案 0 :(得分:2)

由于日期对象中有空格,因此必须引用它。一个快速的解决方法是:

df %>% filter_(paste(select, "== \'", date[1],"\'"))