我的数据集在 1 分钟间隔内有点嘈杂。因此,我想获取 25 分钟到 35 分钟之间每小时的平均值,以代表 30 分钟的那个小时。
例如,平均时间为:00:30(00:25 到 00:35 的平均值)、01:30(01:25 到 01:35 的平均值)、02:30(02:25 的平均值)到 02:35) 等
你能在 R 中做到这一点吗?
这是我的数据集:
set.seed(1)
DateTime <- seq(as.POSIXct("2010/1/1 00:00"), as.POSIXct("2010/1/5 00:00"), "min")
value <- rnorm(n=length(DateTime), mean=100, sd=1)
df <- data.frame(DateTime, value)
非常感谢。
最佳答案
这是一种方法
library(dplyr)
df %>%
filter(between(as.numeric(format(DateTime, "%M")), 25, 35)) %>%
group_by(hour=format(DateTime, "%Y-%m-%d %H")) %>%
summarise(value=mean(value))
关于R:计算时间序列数据框中特定时间窗口的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36436689/