使用dplyr按日期变量筛选行

3
我想要按照"日期"或"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日期时出现问题:
select <- "Date"
df %>% filter_(paste(select, "==", date[1]))

我收到了一个错误信息。你有什么想法如何让它正常工作?


你不能使用 df %>% filter(ID == 1)df %>% filter(Date == date[1]) 的原因是什么? - steveb
1个回答

2

因为您的日期对象中有空格,所以必须加上引号。一个快速的解决方法是这样的:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接