Calcule la diferencia de dos series de tiempo XTS cuando los valores son en diferentes momentos

StackOverflow https://stackoverflow.com/questions/8417215

  •  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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top