【发布时间】:2017-05-30 22:08:00
【问题描述】:
我正在尝试选择跨越 2 天的时间范围(例如 2011-01-01 17:00:00 到 2011-01-02 05:00:00)来计算某些变量的平均值(例如风速)在该时间间隔内。
样本数据:
## Create a record and some random data for every 15 min
## over 10 days for windspeed.
dates <- seq(as.POSIXct("2011-01-01 00:00:00", tz = "GMT"),
as.POSIXct("2011-01-10 23:59:00", tz = "GMT"),
by = 900)
windspeed <- sample(0:20, length(dates), replace = TRUE)
Data <- data.frame(dates = dates, windspeed = windspeed)
我能够使用 dplyr 包从我的数据集中过滤出我感兴趣的日期:
Data %>%
filter(dates > ymd_hms("2011-01-01 00:00:00", tz = GMT) & dates < ymd_hms("2011-01-04 00:00:00", tz = GMT) | dates > ymd_hms("2011-01-06 00:00:00", tz = GMT) & dates < ymd_hms("2011-01-010 00:00:00", tz = GMT))
是否有一个通配符可以用来代替上述代码中的 DATE 并且只指定感兴趣的时间间隔?或者其他计算某个时间间隔内平均值的方法,而不考虑日期?
【问题讨论】: