我有一个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,一切正常。
答案 0 :(得分:0)
对于形成不良的问题感到抱歉。我无法用一个简短的例子重现错误,并且不想发布我的所有代码。我终于弄明白了这个问题。它似乎与bug一些ppl(包括我自己)用XTS报告有关。我需要做的就是用Sys.setenv(TZ =“GMT”)为我的系统指定一个时区。
对于那些感兴趣的人,我使用xts_0.8-8
。