J'ai une XTS
série chronologique irrégulièrement espacée (avec des POSIXct
valeurs comme type d'index).
Comment puis-je créer une nouvelle série temporelle échantillonnée à un intervalle de 10 minutes, par exemple, mais avec chaque instant d'échantillonnage aligné sur une heure ronde (13:00:00, 13:10:00, 13:20:00, ...) . Si un moment de rééchantillonnage ne tombe pas exactement sur une valeur de série d'origine, je veux prendre le précédent.
[r] xts
et parcourir les archives de r-sig-finance.Réponses:
Par exemple
pour sous-échantillonner toutes les 20 minutes. Vous pouvez également consulter
to.minutes
,to.daily
etc.la source
"seconds", 3601
, mais ça ne marche pasJe ne sais toujours pas ce que vous essayez de faire et je pense toujours qu'un exemple aiderait, mais j'ai pensé que je pourrais vous intéresser
align.time
.la source
index(a1)=index(a1)-60;align.time(a1,60)
)align.time
qui fasse ça. Quoi qu'il en soit, il semble être une mauvaise idée d'aligner les observations sur une période antérieure à leur occurrence.Si
a
est un objet xts avec des entrées en seconde résolution, cela supprime toutes les secondes: index (a) = trunc (index (a), "mins")Vous pouvez également l'utiliser pour arrondir à la résolution "heures" également. Mais 10 minutes ne sont pas pris en charge. Pour cela, vous devez faire ceci:
Ou
a=align.time.down(a,600)
là où vous avez défini:(J'ai choisi ce dernier choix dans mon propre script.)
la source