我最近一直在研究大型数据集(超过40万行)。到目前为止,我一直在使用XTS格式,它适用于十分之几元素的“小”数据集。
现在项目增长了,R只是在检索数据库的数据并将其放入XTS时崩溃。
据我所知,R应该能够具有大小最多为2 ^ 32-1个元素的向量(或根据版本为2 ^ 64-1)。因此,我得出结论,XTS可能有一些限制,但我在文档中找不到答案。 (也许我对理解可能的矢量大小的理解有点过于自信)。
总结一下,我想知道是否:
解
答案 0 :(得分:5)
关于你的两个问题,我的0.02美元:
是的,R矢量的限制为2 ^ 32-1个元素。这来自索引逻辑,据报道,它在R中足够“深入”,因此不太可能很快被替换(因为它会影响如此多的现有代码)。谷歌的r-devel列表了解详情;这已经出现过了。 xts包不会施加额外的限制。
是的,将事物分成可管理的块是最明智的方法。当我专门使用32位版本的R时,我曾经在大型数据集上这样做。我现在使用64位R并且不再有这个问题(和/或保持我的数据集健全),
有一些“内存不足”的方法,但我首先尝试重新考虑这个问题,并确认你确实需要一次只有400k行。