我假设以下代码
date = as.Date('2015-05-30')
timeseries = xts()
timeseries[date] = 1
应将值1分配给日期'2015-05-30'。但是,它给了我一个错误
Error in xts(rep(NA, length(index(x))), index(x)) :
order.by requires an appropriate time-based object
将值分配给空xts对象的正确方法是什么?
谢谢, 弗拉基米尔
答案 0 :(得分:1)
尝试这样的事情:
d1 <- rep(1,21)
d2 <- seq(as.Date("2001-01-01",tz="GMT"),as.Date("2021-01-01",tz="GMT"),length.out=21)
xtsdat <- as.xts(d1,d2)
如果你需要逐行构建它,那么构建各个向量并在最后形成xts。
答案 1 :(得分:1)
我认为你误解了[<-.xts
功能的目的。您要求将日期"2015-05-30"
的值替换为1
,但您的xts对象没有数据,因此无需替换。你到底想要完成什么?
如果要插入,请拨打rbind(xts(1, as.Date('2015-05-30')), timeseries)
。
你应该注意Mike Wise's wise advice:像这样生长对象是非常低效的。