names文件和data文件_data.table让你的读取速度提升百倍

1784c7b8ad4067a80f5584a5a8d53635.png

不知道大家有没有用read.table和read.csv读取过文件,当文件不大的时候你可能还感觉不出读取速度,但是当文件比较大的时候,比如有上万行的时候,你就会感觉到等待时间明显变长,甚至无法忍受。

今天小编给大家安利一个实用的R包data.table, 这个包可以明显的提升大文件的读取速度。下面我们就来做一个实验。我们随机生成一个100万行10列的文件,保存到你的电脑上,文件的大小可以达到173MB。接下来我们分别用传统的read.csv和data.table包里面的fread函数来读取这个超大的文件,然后比较两种方法的读取速度。

# 加载data.table包
library(data.table)

# 数据读取性能对比分析
# Create a large .csv file
set.seed(100)
m <- data.frame(matrix(runif(10000000), nrow=1000000))
write.csv(m, 'm2.csv', row.names = F)
# Time taken by read.csv to import
system.time({m_df <- read.csv('m2.csv')})
# Time taken by fread to import
system.time({m_dt <- fread('m2.csv')})

我们可以看到传统的read.csv读取该文件所需要的时间为48.84秒,而利用data.table包中的fread函数来读取只需要0.47秒,速度整整提升了100倍。、

> # Time taken by read.csv to import
> system.time({m_df <- read.csv('m2.csv')})
 用户  系统  流逝 
48.84  1.09 50.72 
> # Time taken by fread to import
> system.time({m_dt <- fread('m2.csv')})
用户 系统 流逝 
0.47 0.08 0.31

大家赶紧试试吧!

【R语言】data.table让你的读取速度提升百倍​mp.weixin.qq.com
093998d5c46a089f91a402d5250b4baf.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值