R语言数据处理

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

2021-02-27  本文已影响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()还会提供读取进度条,非常滴友好~

上一篇下一篇

猜你喜欢

热点阅读