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

Lou*_*fre 5 r xts

例如,我有一个xts对象

ts=xts(seq(10),seq(Sys.Date(),Sys.Date()+10,length.out=10))
Run Code Online (Sandbox Code Playgroud)

例如,需要添加一个新点

(Sys.Date()+11, 11)
Run Code Online (Sandbox Code Playgroud)

我试过了

ts[Sys.Date()+11] <- 11
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我宁愿避免创建一个新的xts对象.是否有一种优雅的方式来做到这一点.

And*_*rie 7

您可以使用crbindxts对象上按行追加:

c(ts, xts(11, Sys.Date()+11))
Run Code Online (Sandbox Code Playgroud)

编辑:

请注意,这会产生警告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
Run Code Online (Sandbox Code Playgroud)