Calculez la différence de deux séries chronologiques XTS lorsque les valeurs sont à des moments différents

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

  •  29-10-2019
  •  | 
  •  

Question

J'ai deux séries chronologiques XT dans R et je veux calculer les différences entre les valeurs des séries chronologiques aux temps les plus proches les uns des autres. Autrement dit, si mes deux indices sont:

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

et

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

Je veux calculer les différences des valeurs à:

  • 13h00 et 12h59
  • 14:00 et 13:53
  • 14:30 et 14:23

Comment dois-je faire cela? Le standard merge méthode de zoo avec all=FALSE Je ne ferai pas ce que je veux, car les indices doivent être exactement égaux pour qu'il fusionne correctement.

Des idées?

Était-ce utile?

La solution

Vous n'avez pas fourni d'exemple reproductible, donc je ne peux pas vous donner de solution spécifique. Généralement, vous pouvez utiliser align.time Pour modifier les valeurs d'index de chaque objet en une périodicité similaire, ou vous pourriez fusionner et utiliser na.locf pour remplir les valeurs manquantes. Ensuite, vous pouvez faire les opérations que vous souhaitez entre les deux séries.

Autres conseils

Je pense à quelque chose comme ceci: pour chaque membre de la première série, vous l'insérez dans la deuxième série en fonction de son index de temps, puis calculez les différences absolues entre les indices du membre inséré de la première série et celui des précédents et des suites Deuxième membres de la série, prenant la différence correspondante entre les valeurs pour lesquelles la différence absolue entre les indices est la plus petite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top