根据特定时间范围汇总数据

时间:2015-06-08 19:57:38

标签: r

假设我们有一个timestamps列和一个value列,我们希望根据15或20分钟的时间间隔聚合value列。你怎么用R做的?以下是准备数据的示例。

start <- as.POSIXct("2015-06-01")
interval <- 1 # 1 minute interval
end <- start + as.difftime(1, units="days")
timestamps = as.numeric(seq(from=start, by=interval*60, to=end))
values = rnorm(length(timestamps))
dt = data.frame(timestamps,values)

1 个答案:

答案 0 :(得分:1)

在处理时间序列对象时,最好使用xts包:

library(xts)
xx <- xts(values,order.by = timestamps)
## aggregate by mean/sum
period.apply(xx,endpoints(xx,'minutes',15),mean)

其中timestamps

timestamps = seq(from=start, by=interval*60, to=end)