Comment ajouter une nouvelle valeur à XTS objet sans créer un nouveau

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

  •  26-10-2019
  •  | 
  •  

Question

J'ai un objet XTS, par exemple

ts=xts(seq(10),seq(Sys.Date(),Sys.Date()+10,length.out=10))

et la nécessité d'ajouter un nouveau point, par exemple

(Sys.Date()+11, 11)

J'ai essayé

ts[Sys.Date()+11] <- 11

mais cela ne fonctionne pas. Je préférerais éviter de créer un nouvel objet XTS. Y at-il une façon élégante de le faire.

Était-ce utile?

La solution

You can use c or rbind on an xts object to append row-wise:

c(ts, xts(11, Sys.Date()+11))

EDIT :

Note that this produces a warning mismatched types: converting objects to numeric. To remove the warning, first coerce the value to numeric, e.g:

c(ts, xts(as.integer(11), Sys.Date()+11))

           [,1]
2011-12-01    1
2011-12-02    2
2011-12-03    3
2011-12-04    4
2011-12-05    5
2011-12-06    6
2011-12-07    7
2011-12-08    8
2011-12-09    9
2011-12-11   10
2011-12-12   11
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top