我需要在for循环之前声明一个xts变量,然后在for循环中向它添加元素。我的实施不起作用。下面的代码如果我在for循环之前声明为xtsvar< -xts(13.2,as.Date(" 2013-04-07","%Y-%m-%d&#34) ;))而不是xtsvar< - xts()。不幸的是,我无法做到这一点,因为我无法输入一些我以后无法删除的虚拟值。
xtsvar <- xts()
for (i in seq (2, 10))
....
....
xtsvar <- rbind(xtsvar, xts(13.2, as.Date("2013-04-07","%Y-%m-%d")))
....
.....
注意:在for循环中我尝试了xtsvar&lt; - xts(13.2,as.Date(&#34; 2013-04-07&#34;,&#34;%Y-%m-%d&#34) ;)))在第一次迭代中和rbind在进一步的迭代中。它在第一次迭代中失败了)
答案 0 :(得分:1)
一次向xts
或data.frame
对象添加一条记录几乎总是一个坏主意。通常有更好的方法可以同时创建数据。如果不知道你在循环中做了什么,很难提出替代方案,但至少,你最好先按列构建数据,然后转换为{{1在最后。
答案 1 :(得分:0)
我有同样的问题。我用这种方式解决了它:首先,用至少一行初始化xtsvar,例如:
xtsvar <- xts(13.2,as.Date("2013-04-07","%Y-%m-%d"))
而不是
xtsvar <- xts()
之后,您可以这样添加一行:
xtsvar <- c(xtsvar,xts(15,as.Date("2013-04-08","%Y-%m-%d")))
更一般地说,如果您有多列:
xtsvar <- c(xtsvar,xts(matrix(c(1,2,2,5),nrow=1),as.Date("2013-04-08","%Y-%m-%d")))