在 R 中哪些包可以快速加载更大的数据

Posted

技术标签:

【中文标题】在 R 中哪些包可以快速加载更大的数据【英文标题】:In R which packages for loading larger data quickly 【发布时间】:2012-02-24 14:01:07 【问题描述】:

在 R 中,数据通常加载到 RAM 中。 是否有任何将数据加载到磁盘而不是 RAM 的软件包

【问题讨论】:

除了Iterator和Dirk的回答,处理大数据的还有sqldf、Rmysql、RSQLite(HPC TV里也有注明)。 【参考方案1】:

查看bigmemory 包,以及bigtabulatebigalgebrabiganalytics 等相关包。还有ff,虽然我觉得它不像bigmemory 套件那样用户友好。据报道,bigmemory 套件的部分动机是难以使用ff。我喜欢它,因为它只需对我的代码进行很少的更改即可访问bigmatrix 对象:它可以以与标准矩阵几乎完全相同的方式进行操作,因此我的代码非常可重用。

还通过 NetCDF4 支持 HDF5,在 RNetCDFncdf 等软件包中。这是一种流行的、多平台、多语言的方法,用于高效存储和访问大型数据集。

如果您需要基本的内存映射功能,请查看mmap 包。

【讨论】:

Bigmemory 最初只是一个外部指针,指向 R 之外的 ram 中的对象,加上适当的语义。基于文件的东西是对 ff 的响应,但这并没有启动 bigmemory。您指向 hdf5 和 netcdf 的指针也很好且正确,mmap 的提示也是如此。【参考方案2】:

是的,ff 包可以做到这一点。

您可能想查看Task View on High-Performance Computing 了解更多详情。

【讨论】:

以上是关于在 R 中哪些包可以快速加载更大的数据的主要内容,如果未能解决你的问题,请参考以下文章

R中非常大的数据集处理和机器学习的推荐包[关闭]

R语言可以处理大的数据吗

无法在嵌套循环中使用 pandas 附加更大的数据帧。如何更改为 numpy 向量化?

从更大的基于excel的数据集中提取R中的x行数

在 R 中读取大型 HDF5 文件

对RDD进行Spark重复数据删除以获得更大的RDD