美文网首页R语言数据处理
R语言 -- fread() 函数快速读取大表格

R语言 -- fread() 函数快速读取大表格

作者: 生信摆渡 | 来源:发表于2021-02-27 14:43 被阅读0次

平时读取一个表格文件通常使用read.table函数,但当遇到上百M或上G的文件时,就读的非常慢了。

有个函数fread(),来自data.table包,可以更快地读取表格文件,速度可以快近十倍

比如现在有个基因组注释文件Homo_sapiens.GRCh37.87.gtf,大小为1.1G,分别使用 read.table()fread() 读取所用的时间分别为:

fileIn = "Homo_sapiens.GRCh37.87.gtf"

# read.table()
start = Sys.time()
Tx = read.table(fileIn, sep = "\t", header = FALSE, stringsAsFactors = FALSE)
end = Sys.time()
> end - start
Time difference of 29.71594 secs

# fread()
start = Sys.time()
> Tx = fread(fileIn, sep = "\t", header = FALSE, stringsAsFactors = FALSE)
|--------------------------------------------------|
|==================================================|
end = Sys.time()
> end - start
Time difference of 3.99352 secs

时间分别为30s 和 4s !

而且对于很大的表格,fread()还会提供读取进度条,非常滴友好~

相关文章

网友评论

    本文标题:R语言 -- fread() 函数快速读取大表格

    本文链接:https://www.haomeiwen.com/subject/sufifltx.html