【问题标题】:How to quickly read a large txt data file (5GB) into R(RStudio) (Centrino 2 P8600, 4Gb RAM)如何快速将大型 txt 数据文件 (5GB) 读入 R(RStudio) (Centrino 2 P8600, 4Gb RAM)
【发布时间】:2017-09-22 06:56:26
【问题描述】:

我有一个大数据集,其中一个文件是 5GB。有人可以建议我如何快速将其读入 R(RStudio)吗?谢谢

【问题讨论】:

  • 看看here也许吧,虽然从那以后出现了一些新的包。
  • 取决于你想要做什么和文件内容。如果它是一个 csv 文件,您可以使用 sqldf 来过滤它,就好像它是一个 SQLite 数据库一样,并且只加载您想要的内容。如果您必须加载所有内容,fread 仍然是最快的。

标签: r large-data


【解决方案1】:

如果您只有 4 GB 的 RAM,则无法将 5 GB 的数据“放入 R”。您也可以查看 R 中 High Perfomance Computing 任务视图的“大内存和内存不足数据”部分。专为内存不足进程设计的软件包(例如 ff)可能会对您有所帮助。否则,您可以使用Amazon AWS services 在更大的计算机上购买计算时间。

【讨论】:

  • 实际上,如果您使用Revolution R 的发行版,您可以。它不需要将所有数据加载到内存中。不过,这不会使一次加载 4GB 的速度更快
  • 不,你不能。 Revolution R 使用像 ff 一样的内存不足算法。您仍然无法加载比 RAM 更多的数据。
【解决方案2】:

我的包filematrix 用于处理矩阵,同时将它们以二进制格式存储在文件中。函数fm.create.from.text.file 从文本文件中读取矩阵并将其存储在二进制文件中,而无需将整个矩阵加载到内存中。然后可以使用通常的下标fm[1:4,1:3] 部分访问它,或者将其作为一个整体快速加载到内存中fm[]

【讨论】:

    猜你喜欢
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2016-04-29
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    相关资源
    最近更新 更多