Tengo una serie de tiempo irregular (xts
en R
) a la que deseo aplicar algunas ventanas de tiempo. Por ejemplo, dada una serie de tiempo como el siguiente, quiero calcular cosas como el número de observaciones que hay en cada ventana discreta de 3 horas, a partir de 2009-09-22 00:00:00
:Análisis regular sobre series de tiempo irregulares
library(lubridate)
s <- xts(c("OK", "Fail", "Service", "OK", "Service", "OK"),
ymd_hms(c("2009-09-22 07:43:30", "2009-10-01 03:50:30",
"2009-10-01 08:45:00", "2009-10-01 09:48:15",
"2009-11-11 10:30:30", "2009-11-11 11:12:45")))
que al parecer no puedo usar period.apply()
o split()
para hacerlo, porque esos omitirán períodos sin observaciones, y no puedo darle una hora de inicio.
Mi salida deseada por el simple problema de conteo (aunque, por supuesto, mis tareas reales son más complicadas con cada segmento!) Sería algo como esto si agregados 3 días a la vez:
2009-09-22 1
2009-09-25 0
2009-09-28 0
2009-10-01 3
2009-10-04 0
2009-10-07 0
2009-10-10 0
2009-10-13 0
2009-10-16 0
2009-10-19 0
2009-10-22 0
2009-10-25 0
2009-10-28 0
2009-10-31 0
2009-11-03 0
2009-11-06 0
2009-11-09 2
Gracias por cualquier orientación.
Eso no hace lo que estoy buscando, permítame agregar más detalles a la pregunta original. –
Quizás la idea de 'merge()' es lo que necesito: ¿crear una secuencia con mis puntos finales de intervalo deseados, luego unir eso a la secuencia? –
@KenWilliams: estás en el camino correcto. He actualizado mi respuesta ... –