【发布时间】:2021-01-03 07:21:24
【问题描述】:
我四处搜索,但找不到我的问题的答案。
像scan(base 包)和fread(data.table 包)这样的函数可以很好地从用户指定的 .txt 或 .csv 中读取前 N 行。但是,当涉及到 .RData 时,load 会加载整个文件,并且无法指定应从中读取多少个值。
我有超过 3GB 大小的 .RData 文件,每个文件都包含一个 data.frame 或 data.table,并且并不总是需要加载整个文件,而只需加载前 100 或 1,000 行的对象。有没有办法做到这一点?
【问题讨论】:
-
你考虑过
readLines()吗? -
如果存储在 RDS 文件中的对象是 data.frame,
ReadLines()的行为会很差。 -
我认为使用 RData 文件会非常困难。无论如何,您应该使用
saveRDS。就个人而言,我会使用fwrite/fread。它们不应该明显变慢。
标签: r dataframe datatable rdata