似乎最直观的方法是.rdata文件可能是R加载的斋戒文件格式,但是当扫描某些堆栈中的帖子时,似乎更多的注意力放在了增强.csv或其他格式的加载时间上。有明确的答案吗?
没有一个明确的答案,但下面的时候,它走上加载相同的数据帧读取作为.tab
与文件utils::read.delim()
,readr::read_tsv()
,data.table::fread()
和作为一个二进制.RData
文件中使用定时system.time()
功能:
.tab
和 utils::read.delim
system.time(
read.delim("file.tab")
)
# user system elapsed
# 52.279 0.146 52.465
.tab
和 readr::read_tsv
system.time(
read_tsv("file.tab")
)
# user system elapsed
# 23.417 0.839 24.275
.tab
和 data.table::fread
在@Roman的请求下,大约3秒内加载了相同的〜500MB文件:
system.time(
data.table::fread("file.tab")
)
# Read 49739 rows and 3005 (of 3005) columns from 0.400 GB file in 00:00:04
# user system elapsed
# 3.078 0.092 3.172
.RData
同一数据框的二进制文件system.time(
load("file.RData")
)
# user system elapsed
# 2.181 0.028 2.210
显然不是确定的(样本大小= 1!),但在我的情况下,数据帧为500MB:
.RData
最快data.frame::fread()
快到了readr::read_tsv
慢一个数量级utils::read.x
最慢,只有一半 readr
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句