我一直在尝试为我的研究项目过滤数据集。我有时间戳,包括“ts”栏中的年/月/日和时/分/秒(时间戳)。
我一直在使用dplyr“过滤器”功能:
filter(df.flat.subset1, (projID == "168", ts= 2017-08-03))
我一直收到0行或此错误
Error: unexpected numeric constant in:
filter(df.flat.subset1, projID == "168", ts == "2017-08-03 %H:%M:%S)
如果我试着把时间留作未知......
df.flat.subset1
是我的数据集(忽略projID,它只是我在多个项目的更大数据集中的项目168),我想要过滤的日期是2017年8月3日。
我在那个日期有数千个值,所以我无法指定确切的时间,但我想至少缩小它。
知道我怎么能这样做吗?
非常感谢
答案 0 :(得分:1)
我建议使用lubridate包,因为它更容易操作日期:
library(lubridate)
filter(df.flat.subset1, projID == "168", date(ts) == date('2017-08-03'))
答案 1 :(得分:0)
如果您想忽略时间戳,则需要format(ts, '%Y-%m-%d') == '2017-08-03'
作为过滤器。
您也可以尝试as.Date(ts) == '2017-08-03'
。