1

我有一个 XTS,它是列表的一部分,returns$sig从该 XTS 中,我根据某些条件提取一组元素并将索引存储在一个变量tstart中。

> tstart <- index(returns$sig[which(returns$sig != lag(returns$sig,1) & returns$sig != 0)])
> length(tstart)
[1] 599

当我尝试returns$sig使用 中的日期再次访问 XTS 时tstart,我得到一个长度不同的 XTS:

> length(returns$sig[tstart])
[1] 478

它应该返回长度为 599 的内容。如果我尝试以不同的方式访问 XTS,我会得到相同长度的内容:

> length(returns$sig[match(tstart,index(returns$sig))])
[1] 599

花了好几个小时,还没有找到解决办法。有什么明显的我做错了吗?更糟糕的是,我发誓length(returns$sig[tstart])昨天返回了 599,一切正常。

4

1 回答 1

0

抱歉,问题的格式不正确。我无法通过一个简短的示例重现该错误,并且不想发布我的所有代码。我终于弄清楚了这个问题。这似乎与一些人(包括我自己)在 XTS 中报告的错误有关。我需要做的就是使用 Sys.setenv(TZ = "GMT") 为我的系统指定一个时区。

对于那些感兴趣的人,我正在使用xts_0.8-8.

于 2012-11-30T16:19:31.307 回答