1) ts. Поскольку это регулярные временные ряды, преобразуйте его в ряд ts
и затем агрегируйте его с частоты 24 до частоты 1:
aggregate(ts(x2[, 2], freq = 24), 1, mean)
давая:
Time Series:
Start = 1
End = 4
Frequency = 1
[1] 108.5 132.5 156.5 180.5
2) зоопарк. Здесь используется зоопарк.Пакет zoo также может обрабатывать нерегулярно расположенные ряды (если нам нужно было расширить это).Ниже day.hour
- номер дня (1, 2, 3, 4) плюс час как дробная часть дня, поэтому floor(day.hour)
- это просто номер дня:
library(zoo)
day.hour <- seq(1, length = length(x2[, 2]), by = 1/24)
z <- zoo(x2[, 2], day.hour)
aggregate(z, floor, mean)
## 1 2 3 4
## 108.5 132.5 156.5 180.5
Если zz
это результат aggregate
, тогда coredata(zz)
и time(zz)
являются значениями и временем соответственно, как обычные векторы.