Временные ряды RollApply в R (зоопарк) на обратном взгляде

StackOverflow https://stackoverflow.com/questions/8370999

Вопрос

Я хотел бы использовать функцию зоопарка 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 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top