在过去的80天里,我每分钟收集一次数据,相当于大约116k条记录:
...
"30694","2015-09-06 18:09:11","119"
"30695","2015-09-06 18:10:09","693"
"30696","2015-09-06 18:11:10","155"
...
我希望能够绘制出这个数据的整个星期的平均值。我应该如何在R中执行此操作?我想把数据分成每天(周日、周一、…、周六),然后取每分钟的平均值(所以忽略秒),等于一周的60*24*7=10080个总平均值,每个平均值由某一分钟(即18:11)的80天数据计算得出。有更简单/更好的方法吗?也将开放使用另一个数据分析包。
使用lubridate可以轻松完成此操作。
library(dplyr)
library(lubridate)
data %>%
setNames(c("ID", "time", "measurement") ) %>%
mutate(time = time %>% ymd_hms,
week = time %>% round_date("week") ) %>%
group_by(week) %>%
summarize(measurement = mean(measurement))