【发布时间】:2020-08-07 22:36:27
【问题描述】:
我有一个数据系列,其中的数据如下所示:
2020-01-02 09:30:00 1 gdss
2020-01-02 10:00:00 2 jojo
2020-01-02 10:30:00 3 hutr
2020-01-02 11:00:00 2 uff
2020-01-02 11:30:00 4 wwe
2020-01-02 12:00:00 1 vev
2020-01-02 12:30:00 2 wow
它有更多的列,但并不重要。但是,整套确实有十多年的 30 分钟数据。
我想过滤每天的特定时间,但无法正确过滤。我正在使用 lubridate
例如要得到这个区间:
2020-01-02 10:30:00 3 hutr
2020-01-02 11:00:00 2 uff
2020-01-02 11:30:00 4 wwe
2020-01-02 12:00:00 1 vev
我尝试了以下方法:
with(load_dataset, load_dataset[ (hour(load_dataset$Date) == 10 & minute(load_dataset$Date) == 30) | (hour(load_dataset$Date) == 12 & minute(load_dataset$Date) < 30), ])
这仅给出第一个和最后一个。
with(load_dataset, load_dataset[(hour(load_dataset$Date) == 10 & minute(load_dataset$Date) == 30) & (hour(load_dataset$Date) == 12 & minute(load_dataset$Date) < 30), ])
这给出零行。
with(load_dataset, load_dataset[(hour(load_dataset$Date) >= 10 & minute(load_dataset$Date) == 30) & (hour(load_dataset$Date) <= 12 & minute(load_dataset$Date) <= 30), ])
这仅给出 30 分钟的间隔:
2020-01-02 10:30:00 3 hutr
2020-01-02 11:30:00 4 wwe
如何过滤数据集中每天 10:30 到 12:00(包括 12:00)之间的每一行?
【问题讨论】:
标签: r filter time-series lubridate