
高效输入
/
输出
|
103
理大数据的方法是采用数据库,该内容将在第
6
章的“使用数据库”一节中
进行讲解。
二进制文件格式
纯文本文件有局限性,即使可靠的
CSV
格式也是“限于表格数据、缺少类型
安全、限制了数值数据精度”(
Eddelbuettel, Stokely, and Ooms 2016
)。一
旦你读入原始数据(例如从纯文本文件)并整理了(见下一章内容),下一
步通常是将其保存供将来使用。整理后立即保存是为了避免每次都从头整理
数据。我们推荐以二进制格式保存整理过的大型数据集,这可减少读写时间
以及文件大小,使你的数据更便于携带
注
1
。
不像纯文本文件,人类无法阅读保存成二进制格式的数据。这允许为了节
省空间而进行的数据压缩,但意味着文件与
R
语言相关。类似
Python
或者
LibreOffice Calc
等外部程序很难加载
R
语言的自有的文件格式,例如
.Rds
。
本节提供了
R
中二进制格式的概述,通过基准测试对二进制文件与上一节介
绍的纯文本
.csv
格式进行了比较。
R
自带的二进制格式:
Rdata
和
Rds
.Rds
与
.RData
是
R
自带的二进制文件格式。这些格式针对速度和压缩率进行
了优化。但它们之间有何差异呢?下面代码演示了它们之间的主要差异:
save(df_co2, file = "extdata/co2.RData")
saveRDS(df_co2, "extdata/co2.Rds")
load("extdata/co2.RData")
df_co2_rds = readRDS("extdata/co2.Rds") ...