在 R 中简单地存储数据以进行统计分析的最佳方法

机器算法验证 r 数据集
2022-02-26 23:14:06

一段时间以来,我一直在使用文本文件来存储我的 R 数据而没有任何问题。但是对于最近的一个项目,文件的大小变得太大,无法处理原始文本文件。最好的简单替代方案是什么?

4个回答

标准 R 方法是使用saveload如果您save在导入和注释后在数据框上运行,您可以指定compress=TRUE并且您会惊讶于压缩和快速load时间。如果对象大小小于约 400MB,这尤其适用。否则,请查看上面的一些建议,或ffR 中强大的包。

Hmisc软件包几乎没有包装SaveLoad使上述内容更加轻松:

mydata <- csv.get(...)  # Hmisc package, has several options
Save(mydata)   # writes mydata.rda to current working directory
....
Load(mydata)   # reads mydata.rda and creates mydata data frame

看看 SQLite3 数据库。每个数据库都是一个文件,因此不需要设置数据库服务器。

创建数据库:

$ sqlite3 my_db.db3
> CREATE TABLE my_table ( col1 TEXT );

与 R 一起使用,https://gist.github.com/lynaghk/1062939

有许多通用选项。

  • 您可以压缩文本。
  • 您可以对文本进行二进制处理,而不是用 ascii 编写

出色的压缩取决于数据。

我的猜测(您没有指定,所以我必须猜测)是您希望将类似电子表格的数据存储在 csv(逗号分隔)以外的其他内容中。

我最喜欢的格式之一(我喜欢 MatLab)是 hdf。

以下是有关 HDF 的 R 相关信息:

它是一种高密度的超级计算数据存储格式。它可以非常快速和高效。它也(不出所料)比压缩文本更密集。

R 中的标准文件读取功能现在将自动轻松读取 gzip 文件。因此,只需对您的数据运行简单的 gzip 压缩并像往常一样读取,就好像它是纯文本一样。

read.table('myfile.gz')