开始使用免费开始使用

比较读取 CSV 与 RDS 文件的时间

我们经常要做的一项任务是从 CSV 文件读取数据。不过,对于大型 CSV 文件,这可能会很慢。 一个实用的小技巧是,先读取数据并将其保存为 R 二进制文件(rds),使用 saveRDS()。 要读取 rds 文件,我们使用 readRDS()

注意:由于 rds 是 R 用于存储单个对象的原生格式,您并未引入将来可能变化的第三方依赖。

要对这两种方法进行基准测试,您可以使用 system.time()。 该函数会返回评估任意 R 表达式所花费的时间。例如,若要计时从 1 到 1,000 万求平方根所需的时间,您可以这样写:

system.time(sqrt(1:1e7))

本练习是课程的一部分

高效 R 代码写作

查看课程

练习说明

文件 "movies.csv""movies.rds" 都包含相同的数据框,记录了 45,000 部电影的信息。

  • 使用 system.time() 函数,测量用 read.csv("movies.csv") 读取 CSV 文件所需的时间。
  • "movies.rds" 的 rds 文件重复上述步骤,使用 readRDS()

交互式实操练习

通过完成这段示例代码来试试这个练习。

# How long does it take to read movies from CSV?
system.time(read.csv(___))

# How long does it take to read movies from RDS?
___
编辑并运行代码