2017-03-04 121 views
-2

我有來自不同傳感器的SCADA數據,這些數據是在數值變化時記錄的。
我已經嘗試了一些,但在R中是新的,我無法調試錯誤。
如何改變這種價值變化的數據爲每分鐘的平均數據.... 這裏是樣本數據:獲取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。

回答

0

假設您的時間列是一個字符向量,您可以使用dplyrlubridate包來完成該任務。這裏的df是你的數據幀,有列日期,時間和值:

library(dplyr) 
library(lubridate) 

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