Tengo una serie temporal de eventos (publicaciones) que utilizan xts
, y quiero calcular el número de eventos que ocurren en una ventana semanal rodante (o quincenal, o 3 días, etc.). Los datos se ve así:Ventana emergente sobre series temporales irregulares
postid
2010-08-04 22:28:07 867
2010-08-04 23:31:12 891
2010-08-04 23:58:05 901
2010-08-05 08:35:50 991
2010-08-05 13:28:02 1085
2010-08-05 14:14:47 1114
2010-08-05 14:21:46 1117
2010-08-05 15:46:24 1151
2010-08-05 16:25:29 1174
2010-08-05 23:19:29 1268
2010-08-06 12:15:42 1384
2010-08-06 15:22:06 1403
2010-08-07 10:25:49 1550
2010-08-07 18:58:16 1596
2010-08-07 21:15:44 1608
que debe producir algo así como
nposts
2010-08-05 00:00:00 10
2010-08-06 00:00:00 9
2010-08-07 00:00:00 5
para una ventana de 2 días. He investigado rollapply
, apply.rolling
desde PerformanceAnalytics
, etc., y todos ellos asumen datos de series temporales regulares. Traté de cambiar todas las veces hasta el día en que se produjo la publicación y usar algo como ddply
para agrupar cada día, lo que me acerca. Sin embargo, un usuario puede no publicar todos los días, por lo que la serie de tiempo seguirá siendo irregular. Podría llenar los espacios con ceros, pero eso podría inflar mucho mis datos y ya es bastante grande.
¿Qué debo hacer?
La solución para esto no existe actualmente en el paquete XTS, pero esta petición se produce lo suficiente que he empezado a pensar en incluir una solución. –
¿Tiene una actualización de @JoshuaUlrich? ¿O algo así como el efecto de la respuesta a continuación que completará los días perdidos con ceros o datos de NA para que podamos usar 'rollapply'? Creo que puedo usar 'merge' ... – flodel
@flodel: esta pregunta no necesita lo que pensé que era (ver mi respuesta). Pensé que querían mirar hacia atrás 'n' días en cada observación de su serie original, que es un problema mucho más difícil de resolver. –