获取R中每个时间戳数据的平均值

时间:2017-03-04 17:35:54

标签: r time timestamp average

我有来自不同传感器的SCADA数据,这些数据在值变化时记录 我尝试了一些但是在R中是新的,我无法调试错误 如何根据每分钟平均数据更改此值更改数据.... 这是样本数据:

Date        Time    Value
01-02-2017  06:47:04    9
01-02-2017  06:47:16    10
01-02-2017  06:47:40    11
01-02-2017  06:48:04    9
01-02-2017  06:48:16    12
01-02-2017  06:48:40    10
01-02-2017  06:48:52    11
01-02-2017  06:49:04    13
01-02-2017  06:49:16    11
01-02-2017  06:49:28    14
01-02-2017  06:50:04    15

我想计算每分钟的平均值 它应该考虑如下的价值:

Time    Value
06:48:00    11
06:48:01    11
06:48:02    11
06:48:03    11
06:48:04    9
06:48:05    9
06:48:06    9
06:48:07    9
06:48:08    9
06:48:09    9
06:48:10    9
06:48:11    9
06:48:12    9
06:48:13    9
06:48:14    9
06:48:15    9
06:48:16    12
06:48:17    12
06:48:18    12
06:48:19    12
06:48:20    12
06:48:21    12
06:48:22    12
06:48:23    12
06:48:24    12
06:48:25    12
06:48:26    12
06:48:27    12
06:48:28    12
06:48:29    12
06:48:30    12
06:48:31    12
06:48:32    12
06:48:33    12
06:48:34    12
06:48:35    12
06:48:36    12
06:48:37    12
06:48:38    12
06:48:39    12
06:48:40    10
06:48:41    10
06:48:42    10
06:48:43    10
06:48:44    10
06:48:45    10
06:48:46    10
06:48:47    10
06:48:48    10
06:48:49    10
06:48:50    10
06:48:51    10
06:48:52    11
06:48:53    11
06:48:54    11
06:48:55    11
06:48:56    11
06:48:57    11
06:48:58    11
06:48:59    11

第48分钟的平均值为10.8。

1 个答案:

答案 0 :(得分:0)

假设您的时间列是字符向量,您可以使用dplyrlubridate包来完成任务。此处df是您的数据框,其中包含日期,时间和值:

library(dplyr)
library(lubridate)

df %>%
  mutate(Time = hms(Time)) %>%
  group_by(h = hour(Time), m = minute(Time)) %>%
  summarise(Mean = mean(Value))