如何在不创建新值的情况下向xts对象追加新值



我有一个xts对象,例如

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

,需要添加一个新的点,例如

(Sys.Date()+11, 11)

我试过了

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

但它不起作用。我宁愿避免创建新的xts对象。

您可以在xts对象上使用crbind按行追加:

c(ts, xts(11, Sys.Date()+11))
编辑:

注意,这会产生一个警告mismatched types: converting objects to numeric。要删除警告,首先将值强制为数字,例如:

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

最新更新