我有一天的分钟数据,我想找到最大小时平均值。它不必是小时(5:07
〜6:07
也有效,这意味着我必须计算00:00
〜01:00
的平均值,{{1} }〜00:01
,01:01
〜00:02
......)。我可以使用除循环以外的任何东西吗?
答案 0 :(得分:1)
如果x
是一个时间向量,作为字符串,而y
是您想要平均的数据,则可以执行以下操作:
x <- c("0:00", "0:01", "12:00", "12:05", "18:04", "18:05", "18:06", "18:07", "0:00", "0:01")
x <- gsub(":[0-9]{2,}", "", x ,perl=T)
y <- 1:length(x)
hourly.average <- aggregate(list(y=y), by=list(x=x), mean)
max.hourly.average <- max(hourly.average[,"y"])
所以你得到了
> hourly.average
x y
1 0 5.5
2 12 3.5
3 18 6.5
为了准确回答你的问题,
> max.hourly.average
[1] 6.5