R:在不规则的1分钟时间序列中计算1小时平均值

时间:2016-02-26 18:56:14

标签: r time-series average

我正在尝试使用R来计算不规则的1分钟时间序列中的30分钟和1小时平均值。

以下是数据集:

Sensor_reading      Time

  -0.28     1-25-16 15:00
  -0.27     1-25-16 15:01
  -0.27     1-25-16 15:02
  -0.26     1-25-16 15:03
  -0.25     1-25-16 15:04
  -0.26     1-25-16 15:05
  -0.28     1-25-16 15:06
  -0.28     1-25-16 15:07
  -0.27     1-25-16 15:08
  -0.30     1-25-16 15:12
  -0.31     1-25-16 15:13
  -0.30     1-25-16 15:14
  -0.30     1-25-16 15:15
  -0.31     1-25-16 15:16
  -0.31     1-25-16 15:17
  -0.31     1-25-16 15:18
  -0.31     1-25-16 15:19
  -0.30     1-25-16 15:20
  -0.27     1-25-16 16:00
  -0.28     1-25-16 16:01
  -0.27     1-25-16 16:02
  -0.26     1-25-16 16:03
  -0.26     1-25-16 16:04
  -0.26     1-25-16 16:06

如何使用R生成如下所示的平均数据集:

   30mins-output      Time
  -0.24     1-25-16 16:00
  -0.26     1-25-16 16:30
  -0.22     1-25-16 17:00
  -0.25     1-25-16 17:30


   1hour-output      Time
  -0.25     1-25-16 16:00
  -0.23     1-25-16 17:00

1 个答案:

答案 0 :(得分:2)

您可以使用剪切功能,然后使用dplyr汇总:

data$Time <- strptime(data$Time, "%m-%d-%y %H:%M")
data$group <- cut(data$Time, breaks="30 min")
data %>% group_by(data$group) %>% summarize(30mins_output = mean(data$Sensor_reading))

同样地,你可以做一个小时:

data$group <- cut(data$Time, breaks="hour")