我想从具有1分钟值的数据集计算1分钟和5分钟的平均值。
数据集如下所示:
time BC
1 10:40:01 2217
2 10:40:02 5776
3 10:40:03 2111
4 10:40:04 1407
5 10:40:05 2056
.
.
.
n 11:30:58 6044
我找到了post,其中有人为此建议zoo(aggregate)
功能。
我试过这样:
time<-as.character(time)
BC<-as.numeric(BC)
BC_mean<-aggregate(BC, trunc(time, "00:01:00"), mean)
然而,它不起作用。我不太确定我是否正确理解了聚合函数,我在网上找到的定义让我更加困惑。 有人能帮助我吗?
答案 0 :(得分:0)
我们可以将“时间”转换为POSIXct
类,并使用cut
创建要在aggregate
brk = "5 min"
df2 <- transform(df1, timeGrp = cut(as.POSIXct(time, format = "%H:%M:%S"), breaks = brk))
aggregate(BC~timeGrp, df2, mean)