R語言 -- fread() 函數快速讀取大表格

平時讀取一個表格文件通常使用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()還會提供讀取進度條,非常滴友好~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。