访问XTS中的元素时出现奇怪的行为

时间:2012-11-30 08:54:47

标签: r xts

我有一个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中的日期再次访问tstart XTS时,我得到一个不同长度的XTS:

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

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

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

花了很多时间,但尚未找到解决方案。有什么明显的东西我做错了吗?更糟糕的是,我发誓length(returns$sig[tstart])昨天返回了599,一切正常。

1 个答案:

答案 0 :(得分:0)

对于形成不良的问题感到抱歉。我无法用一个简短的例子重现错误,并且不想发布我的所有代码。我终于弄明白了这个问题。它似乎与bug一些ppl(包括我自己)用XTS报告有关。我需要做的就是用Sys.setenv(TZ =“GMT”)为我的系统指定一个时区。

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