Ho una serie temporale irregolare di eventi (post) utilizzando xts
e voglio calcolare il numero di eventi che si verificano su una finestra settimanale a rotazione (o bisettimanale o 3 giorni, ecc.). I dati si presenta così:Finestra di scorrimento su serie temporali irregolari
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
che dovrebbe produrre qualcosa come
nposts
2010-08-05 00:00:00 10
2010-08-06 00:00:00 9
2010-08-07 00:00:00 5
per una finestra di 2 giorni. Ho esaminato rollapply
, apply.rolling
da PerformanceAnalytics
, ecc. E tutti presuppongono dati di serie temporali regolari. Ho provato a cambiare tutte le volte per il giorno in cui è stato pubblicato il post e utilizzare qualcosa come ddply
per raggruppare ogni giorno, cosa che mi avvicina. Tuttavia, un utente potrebbe non pubblicare tutti i giorni, quindi le serie temporali saranno ancora irregolari. Potrei riempire gli spazi vuoti con lo 0, ma questo potrebbe gonfiare molto i miei dati ed è già abbastanza grande.
Cosa devo fare?
La soluzione per questo attualmente non esiste nel pacchetto XTS, ma questa richiesta viene su abbastanza che ho iniziato a pensare compresa una soluzione. –
Hai un aggiornamento @JoshuaUlrich? O qualcosa dell'effetto della risposta qui sotto che riempirà i giorni mancanti con zero o dati di NAs quindi possiamo usare 'rollapply'? Immagino di poter usare 'unire '... – flodel
@flodel: questa domanda non richiede quello che pensavo facesse (vedi la mia risposta). Ho pensato che volevano guardare indietro 'n' giorni ad ogni osservazione nella loro serie originale, che è un problema molto più difficile da risolvere. –