如何为R中的xts对象中的日期赋值

时间:2015-05-30 18:37:54

标签: r xts

我假设以下代码

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对象的正确方法是什么?

谢谢, 弗拉基米尔

2 个答案:

答案 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:像这样生长对象是非常低效的。