Pregunta

Me gustaría usar la función de zoológico rollApply para aplicar una función (por ejemplo, media) en una serie temporal, pero solo usando los últimos n puntos conocidos. Por ejemplo:

x = zoo(c(1,2,3,4), order.by=c(10,11,12,13))

rollmean(x,2)

Produce:

10 11 12

1.5 2.5 3.5

Me gustaría producir una serie que tendría entradas de fecha de 11, 12, 13 y valores de 1.5, 2.5, 3.5. Los valores parecen correctos, pero las fechas que las salidas rollmean no parecen corresponder a lo que me gustaría. Estoy un poco preocupado por solo asignar las fechas que quiero al objeto del zoológico usando time(x)<- Porque no estoy seguro de que RollApply realmente esté haciendo lo correcto. La ayuda es apreciada como siempre.

¿Fue útil?

Solución

Especificar align="right" o simplemente usa rollmeanr (solo en versiones recientes del zoológico).

> 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 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top