XTS尺寸限制

时间:2010-06-29 02:48:12

标签: r time time-series xts

我最近一直在研究大型数据集(超过40万行)。到目前为止,我一直在使用XTS格式,它适用于十分之几元素的“小”数据集。

现在项目增长了,R只是在检索数据库的数据并将其放入XTS时崩溃。

据我所知,R应该能够具有大小最多为2 ^ 32-1个元素的向量(或根据版本为2 ^ 64-1)。因此,我得出结论,XTS可能有一些限制,但我在文档中找不到答案。 (也许我对理解可能的矢量大小的理解有点过于自信)。

总结一下,我想知道是否:

  1. XTS确实有尺寸限制
  2. 您认为处理大型时间序列的最聪明方法是什么? (我在考虑将分析分成几个较小的数据集)。
  3. 我没有收到错误消息,R只是自动关闭。这是一种已知行为吗?
    1. 与R相同,它取决于所使用的内存种类(64位,32位)。无论如何它都非常大。
    2. Chuncking数据确实是个好主意,但不需要。
    3. 此问题来自R 2.11.0中的 错误,已在R 2.11.1 中解决。长日期矢量(这里是XTS的索引)存在问题。

1 个答案:

答案 0 :(得分:5)

关于你的两个问题,我的0.02美元:

  1. 是的,R矢量的限制为2 ^ 32-1个元素。这来自索引逻辑,据报道,它在R中足够“深入”,因此不太可能很快被替换(因为它会影响如此多的现有代码)。谷歌的r-devel列表了解详情;这已经出现过了。 xts包不会施加额外的限制。

  2. 是的,将事物分成可管理的块是最明智的方法。当我专门使用32位版本的R时,我曾经在大型数据集上这样做。我现在使用64位R并且不再有这个问题(和/或保持我的数据集健全),

  3. 有一些“内存不足”的方法,但我首先尝试重新考虑这个问题,并确认你确实需要一次只有400k行。

相关问题