2016-02-26 117 views
1

我试图用R来计算不规则的1分钟时间序列中的30分钟和1小时平均值。R:以不规则的1分钟时间序列计算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

对于1小时平均值,您可以执行类似'df%>%group_by(hour(Time))%>%summarize(1hour-output = mean(Sensor_reading))''。 – ytk

回答

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") 
+0

您能否详细解释一下使用“%>%”?我得到的错误:找不到函数“%>%” –

+0

对不起,我忘了提及,你需要安装并包含库(dplyr) – Zakkery