Calcule la diferencia de dos series de tiempo XTS cuando los valores son en diferentes momentos
-
29-10-2019 - |
Pregunta
Tengo dos series de tiempo XTS en R y quiero calcular las diferencias entre los valores de las series de tiempo en los tiempos que están más cerca entre sí. Es decir, si mis dos índices son:
[1] (10/10/05 13:00:00) (10/10/05 14:00:00) (10/10/05 14:23:00)
y
[1] (10/10/05 12:38:00) (10/10/05 12:53:00) (10/10/05 12:59:00) (10/10/05 13:08:00) (10/10/05 13:23:00)
[6] (10/10/05 13:38:00) (10/10/05 13:53:00) (10/10/05 14:23:00) (10/10/05 15:05:00) (10/10/05 15:11:00)
Quiero calcular las diferencias de los valores en:
- 13:00 y 12:59
- 14:00 y 13:53
- 14:30 y 14:23
¿Cómo debería hacer esto? El estandar merge
método de zoo
con all=FALSE
No haré lo que quiera porque los índices deben ser exactamente iguales para que se fusione correctamente.
¿Algunas ideas?
Solución
No proporcionó un ejemplo reproducible, por lo que no puedo darle una solución específica. En general, puedes usar align.time
Para cambiar los valores de índice de cada objeto a una periodicidad similar, o podría fusionarse y usar na.locf
para llenar los valores faltantes. Luego puede hacer las operaciones que desee entre las dos series.
Otros consejos
Estoy pensando en algo como esto: para cada miembro de la primera serie, lo inserte en la segunda serie de acuerdo con su índice de tiempo y luego calcula las diferencias absolutas entre los índices del miembro de la primera serie insertado y las de los siguientes y siguientes. Miembros de la segunda serie, tomando la diferencia correspondiente entre los valores para los cuales la diferencia absoluta entre los índices es el más pequeño.