繁体   English   中英

如何在R中的xts对象中为日期分配值

[英]How to assign value to a date in an xts object in R

我假设以下代码

date = as.Date('2015-05-30')
timeseries = xts()
timeseries[date] = 1

应该为日期“ 2015-05-30”分配值1。 但是,这给了我一个错误

Error in xts(rep(NA, length(index(x))), index(x)) : 
  order.by requires an appropriate time-based object

将值分配给空的xts对象的正确方法是什么?

谢谢,弗拉基米尔

尝试这样的事情:

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。

我认为您误解了[<-.xts函数的目的。 您要求将日期"2015-05-30"的值替换为1 ,但是您的xts对象没有数据,因此没有任何替换内容。 您实际上想完成什么?

如果要插入,则应调用rbind(xts(1, as.Date('2015-05-30')), timeseries)


而且,您应该听从Mike Wise的明智建议 :生长这样的物体效率很低。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM