R语言_读取大数据

首选方法:

使用data.table包中的fread函数:

fread(input, file, sep="auto", sep2="auto", dec=".", quote="\"",
        nrows=Inf, header="auto",
        na.strings=getOption("datatable.na.strings","NA"),  # due to change to ""; see NEWS
        stringsAsFactors=FALSE, verbose=getOption("datatable.verbose", FALSE),
        skip="__auto__", select=NULL, drop=NULL, colClasses=NULL,
        integer64=getOption("datatable.integer64", "integer64"),
        col.names,
        check.names=FALSE, encoding="unknown",
        strip.white=TRUE, fill=FALSE, blank.lines.skip=FALSE,
        key=NULL, index=NULL,
        showProgress=getOption("datatable.showProgress", interactive()),
        data.table=getOption("datatable.fread.datatable", TRUE),
        nThread=getDTthreads(),
        logical01=getOption("datatable.logical01", FALSE),  # due to change to TRUE; see NEWS
        autostart=NA
  )

加粗的部分是常用的

eg:

data <- fread('377/377_lj.csv',data.table = T)

读取的速度,比一众read.函数快了不止一倍。但不能读取xlsx格式的数据,支持csv格式的数据。

使用openxlsx包中的read.xlsx,这个函数对十万以内的较为复杂的数据还是没有任何问题的,数据量超过10w就会有那么一点吃力了,到70w时,基本上就是废掉的状态。

针对读取大量的数据问题,

翻了很多帖子,说要装/更新rtools的,并没有用,再说了,rtools是使用openxlsx必装的,貌似跟打包有关系。有说要用read.xl包的,试来试去,还不如read.xlsx,最终,还是fread最好,不过要事先转为csv。

另外read.xl是有其他优势的,例如它可以读取xls格式的数据,而openxlsx就不行,他可以自动把时间转为正常的格式,openxlsx也不行。

总之,在读取数据这一块,还是需要有个系统的了解,例如掌握匹配不同数据类型的函数,能省不少事。

转载于:https://www.cnblogs.com/JoAnnal/p/9771917.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值