我知道 R 对于分析大型数据集并不是特别有帮助,因为 R 将所有数据加载到内存中,而 SAS 之类的东西则进行顺序分析。也就是说,像 bigmemory 这样的包允许用户在 R 中更有效地执行大数据分析(统计分析)。
我想知道,除了所有的理论信息之外,是否有人使用/正在使用 R 来分析企业环境中的大型数据集,以及可能出现的典型问题是什么。我所说的大型数据集是指大小约为 200 GB 的数据集。此外,任何关于在此类用例中从 SAS 迁移到 R 的真实示例的想法都会有所帮助。
我知道 R 对于分析大型数据集并不是特别有帮助,因为 R 将所有数据加载到内存中,而 SAS 之类的东西则进行顺序分析。也就是说,像 bigmemory 这样的包允许用户在 R 中更有效地执行大数据分析(统计分析)。
我想知道,除了所有的理论信息之外,是否有人使用/正在使用 R 来分析企业环境中的大型数据集,以及可能出现的典型问题是什么。我所说的大型数据集是指大小约为 200 GB 的数据集。此外,任何关于在此类用例中从 SAS 迁移到 R 的真实示例的想法都会有所帮助。
我已经在 R 中完成了非常大的数据集的工作,并且没有遇到问题。
有几种可行的方法,但我的基本范式是我找到“按顺序”处理数据的方法。如果您在同一台机器上使用 SAS,显然 SAS 具有相同的基本内存限制,使用 R 只是更多的 DIY。
在我遇到的每种情况下,我要么对某种数据摘要进行分析,要么对数据块进行分析,然后总结结果。无论哪种方式,这在 R 中都很容易实现。
如果您的数据以某种方式(实际上以任何方式)结构化,那么创建摘要非常容易。Hadoop 是用于创建摘要的领先工具,但对 R 数据文件进行批处理很容易,如果您的数据适合您的本地存储设备,那么以这种方式进行批处理也更快(就处理时间和开发时间)。
使用相同的思维过程也很容易按块分批分析。
如果你真的很想直接在一个巨大的数据集上做一个线性模型,那么我认为 bigmemory 是你的答案,正如 Stéphane Laurent 所建议的那样。
我真的不认为“你如何处理内存限制”或“迁移到新平台”有一个“答案”,但这是我啰嗦的两分钱。
我没有亲身体验革命性的分析部分,但有一个关于此的博客
http://www.r-bloggers.com/allstate-compares-sas-hadoop-and-r-for-big-data-insurance-models/
它使用hadoop(分布式计算)来解决这个内存问题。