美文网首页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