如何在不创建新值的情况下将新值附加到xts对象

时间:2011-12-01 10:03:58

标签: r 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对象。是否有一种优雅的方式来做到这一点。

1 个答案:

答案 0 :(得分:7)

您可以在c对象上使用rbindxts来逐行追加:

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