我正在尝试使用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
答案 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")