Временные ряды RollApply в R (зоопарк) на обратном взгляде
-
27-10-2019 - |
Вопрос
Я хотел бы использовать функцию зоопарка RollApply, чтобы применить функцию (например, среднее) на временных рядах, но используя только последние N известные точки. Например:
x = zoo(c(1,2,3,4), order.by=c(10,11,12,13))
rollmean(x,2)
Производит:
10 11 12
1.5 2.5 3.5
Я хотел бы произвести серию, в которой будут записи даты 11, 12, 13, а значения 1,5, 2,5, 3,5. Значения кажутся правильными, но даты, которые рулонные выходы, кажется, не соответствуют тому, что я хотел бы. Я немного беспокоюсь о том, чтобы просто назначить даты, которые я хочу, чтобы использовать объект зоопарка, используя time(x)<-
Потому что я не уверен, что Rollapply на самом деле делает правильные вещи. Помощь ценится как всегда.
Решение
Указать align="right"
или просто используйте rollmeanr
(Хотя только в последних версиях зоопарка).
> rollmean(x,2,align="right")
11 12 13
1.5 2.5 3.5
> rollmeanr(x,2)
11 12 13
1.5 2.5 3.5