R:计算时间序列数据框中特定时间窗口的平均值

标签 r

我的数据集在 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/

相关文章:

r - 从列表列表制作数据框,但每个元素都是一列

r - 来自 lmer 输出的方差分量的标准误差

r - 数据框中变量之间的快速成对简单线性回归

r - 如何在 R 中创建显示预测模型、数据和残差的图表

r - 计算从昨天收盘价的每日百分比变化并将其应用于多个股票代码的函数

R xgboost - 如何使用本地数据文件?

r - 如何读取具有完整工作日和月份名称的日期时间字符串?

r - 列中逗号分隔类别的频率计数

r - R 中用于通过循环保存数据的并行计算

r - 使用 updateSelectInput 时防止双重加载输出