返回R中for循环的时间

时间:2014-10-13 06:26:38

标签: r datetime for-loop

我正在尝试返回类别为“xts”“zoo”的时间序列。我想检索时间,但取而代之的是数字。我有一个例子如下:

rtn<-c(rep(NA,3))

for(i in 1:3){
  rtn[i]<-index(time_series[i])
  }

返回:

[1] 13704 14049 14343

这是我希望它返回的内容:

[1] "2007-07-10" "2008-06-19" "2009-04-09"

提前感谢您的帮助。

以上是简化版。它是代码中唯一无法运行的部分。如果它有用,那么实际代码是:

green_rtn<-c(rep(NA,length(green_series_open[,1])))
for(i in 1:length(green_series_open[,1])){
  green_rtn[i]<-straddles(coredata(green_series_open[i,1]),coredata(green_series_open[i,2]),
    index(green_series_open[i]),index(green_series_close[i]))
  }

1 个答案:

答案 0 :(得分:1)

您应该将rtn正确初始化为日期向量。使用@ akrun的示例数据(如果你包含了自己的reproducible example那就不错了)

rtn <- rep(as.Date(NA), 3)

library(xts)
time_series <- xts(rnorm(5), order.by=as.Date(c('2007-07-10', '2008-06-19', '2009-04-09', '2009-05-06', '2009-05-08')))

for(i in 1:3) {
    rtn[i]<-index(time_series[i])
}

rtn
# [1] "2007-07-10" "2008-06-19" "2009-04-09"