2016-01-22 51 views
3

我想通過列「日期」或「ID」篩選data.frame。根據日期變量篩選行與dplyr

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])) 

我得到一個錯誤信息。任何想法如何讓它工作?

+0

是否有你不能用'有原因的DF%>%的過濾器(ID == 1)'和'DF%>%的過濾器(日期==日期[1] )'? – steveb

回答

2

由於您的日期對象中有空格,因此必須加引號。一個快速的解決方法是這樣的:

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