Calcola la differenza di due serie temporali XTS quando i valori sono in momenti diversi

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

  •  29-10-2019
  •  | 
  •  

Domanda

Ho due serie temporali XTS in R e voglio calcolare le differenze tra i valori delle serie temporali nei tempi che sono più vicini tra loro. Cioè, se i miei due indici sono:

[1] (10/10/05 13:00:00) (10/10/05 14:00:00) (10/10/05 14:23:00)

e

[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)

Voglio calcolare le differenze dei valori a:

  • 13:00 e 12:59
  • 14:00 e 13:53
  • 14:30 e 14:23

Come dovrei farlo? Lo standard merge metodo da zoo insieme a all=FALSE Non farò quello che voglio perché gli indici devono essere esattamente uguali per unire correttamente.

Qualche idea?

È stato utile?

Soluzione

Non hai fornito un esempio riproducibile, quindi non posso darti una soluzione specifica. Generalmente, puoi usare align.time Per modificare i valori dell'indice di ciascun oggetto in una periodicità simile, oppure si potrebbe unire e utilizzare na.locf Per riempire i valori mancanti. Quindi puoi fare qualsiasi operazione desideri tra le due serie.

Altri suggerimenti

Sto pensando a qualcosa del genere: per ogni membro della prima serie, lo inserisci nella seconda serie in base al loro indice tempo Membri della seconda serie, prendendo la differenza corrispondente tra i valori per i quali la differenza assoluta tra gli indici è la più piccola.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top