r - 如何在 R 中每 30 分钟聚合一次

标签 r plot time-series aggregate

我陷入了 R 困境。我需要将每分钟的数据聚合到每 30 分钟。我的数据框是这样的:

    Date        Time       Power
    2008-10-11  23:57:00   0.376
    2008-10-11  23:58:00   0.374
    2008-10-11  23:59:00   0.374
    2008-10-12  0:00:00    0.334
    2008-10-12  0:01:00    0.330
...
    2008-12-13  19:24:00   1.390
    2008-12-13  19:25:00   1.370
    2008-12-13  19:26:00   1.368
    2008-12-13  19:27:00   1.362
    2008-12-13  19:28:00   1.352
    2008-12-13  19:29:00   1.360

...

基本上,我有 2008 年的 500,979 行数据。每分钟给出一个幂值。为了进行时间序列,我需要每 30 分钟聚合一次数据。这最终会给我大约 17,520 行。我的问题是:

  1. 当“功效”列缺少一些值时,是否可以绘制时间序列?

  2. 如何按 30 分钟聚合 Power 值? (例如,0:00:00 至 0:29:00;0:30:00 至 0:59:00)

非常感谢!

最佳答案

使用dplyr,您可以执行下一步(您可以将mean更改为聚合函数):

df %>%
  mutate(DateTime = as.POSIXct(paste(Date, Time))) %>%
  group_by(DateTime = cut(DateTime, breaks="30 min")) %>%
  summarize(Power = mean(Power))

将产生下一个输出:

             DateTime  Power
               <fctr>  <dbl>
1 2008-10-11 23:57:00 0.3576
2 2008-12-13 18:57:00 1.3760
3 2008-12-13 19:27:00 1.3580

关于r - 如何在 R 中每 30 分钟聚合一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252525/

相关文章:

r - 如何用多边形突出显示时间序列预测的置信区域

r - 在 facet_wrap 条文本中只显示一个变量标签?

r - 如何创建每小时数据的时间序列?

r - 如何通过R中的循环/函数合并大量xts对象?

r - 如何更改 R 中空白的千位分隔符?

R rvest : could not find function "xpath_element"

python - 将列数据从 pandas df 传递到 Bokeh 绘图函数

python - 使用 pandas resample/rolling_sum 计算秒时间间隔

r - 在 R 中使用 gamlss::lms 选择百分位曲线

unit-testing - 如何在R中进行断言?