【发布时间】:2017-05-15 02:33:58
【问题描述】:
我有一个如下的数据框
library(dplyr)
library(lubridate)
time = c('2013-01-03 22:04:21.549', '2013-01-03 22:04:21.549', '2013-01-03 22:04:21.559', '2013-01-03 22:04:23.559' )
value = c(1,2,3,4)
data <- data_frame(time, value)
data <-data %>% mutate(time = ymd_hms(time))
# A tibble: 4 × 2
time value
<dttm> <dbl>
1 2013-01-03 22:04:21.549 1
2 2013-01-03 22:04:21.549 2
3 2013-01-03 22:04:21.559 3
4 2013-01-03 22:04:23.559 4
我想每 200 毫秒重新采样一次这个数据帧。
也就是说,每 200 毫秒取 value 的平均值。
我知道lubridate::floor_date(time, '1 second') 可以使用到second 精度,但不能用于milliseconds。
在上面的示例中,行 1、2 和 3 应该组合在一起,而行 4 应该是单独的(注意它与其他行相距 2 秒)。
有什么想法吗? 谢谢!
【问题讨论】:
标签: r datetime dplyr xts lubridate