选合适的R语言读取数据方式

今天是个好日子,特地花时间看了R Data Import/Export,不仅萌生了导入各种不同的数据方式,看看哪个更适合自己的需要,仅仅算是娱乐吧!!!
大小
文件不是特别大,先让他们走一波,细小的看一看,对比一波,再看大的数据集。

system.time(readLines('D:/R/data/Scorecard/mydata.txt'))
用户 系统 流逝 
0.11 0.01 0.13 
system.time(read.csv("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
1.36 0.05 1.43 
system.time(read.delim("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.45 0.02 0.47 
system.time(read.delim2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.51 0.00 0.52 
library(readr)
system.time(read_delim("D:/R/data/Scorecard/model_sample.csv",delim = '\001'))
用户 系统 流逝 
0.03 0.06 0.10 
system.time(read_csv("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.58 0.04 0.72 
system.time(read_csv2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.04 0.02 0.05 
system.time(read_table("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.03 0.00 0.03
system.time(read_table2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.14 0.00 0.14
system.time(read.csv2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.42 0.00 0.42 

发现read_csv2read_delim比较强有力啊

library(readxl)
system.time(read_excel("D:/R/data/Scorecard/model_sample.xlsx"))
用户 系统 流逝 
1.34 0.24 1.73
system.time(read_xlsx("D:/R/data/Scorecard/model_sample.xlsx"))
用户 系统 流逝 
1.13 0.23 1.36 
library(data.table)
system.time(fread("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝 
0.24 0.00 0.27

data.table这个包确实强啊,需要继续深凿。
读取excel数据确实很难受啊,怪不得大家都建议转成csv,或者tsv呢!!!
后面碰到了好点儿的,继续加餐!
来个大数据集
其实啊,这个数据集也就124M,才拿到手不久。不过数据集里面就不好看了啊。
开始继续测试:

system.time(read.csv("D:/R/data/mydata.csv")) 
用户  系统  流逝 
30.71  0.20 31.79
system.time(read.delim("D:/R/data/mydata.csv"))
 用户  系统  流逝 
44.54  0.14 44.73 
system.time(read.delim2("D:/R/data/mydata.csv"))
 用户  系统  流逝 
45.47  0.03 45.58 
system.time(read_delim("D:/R/data/mydata.csv",delim = '\001'))
用户 系统 流逝 
3.38 0.55 4.42 
 system.time(read.csv("D:/R/data/mydata.csv"))
 用户  系统  流逝 
28.75  0.14 28.94 
system.time(read_csv("D:/R/data/mydata.csv"))
用户 系统 流逝 
1.36 0.07 1.44
system.time(read_csv2("D:/R/data/mydata.csv"))
用户 系统 流逝 
3.07 0.58 3.66 
system.time(read_table("D:/R/data/mydata.csv"))
用户 系统 流逝 
4.96 0.17 5.22 
system.time(read_table2("D:/R/data/mydata.csv"))
 用户  系统  流逝 
10.71  0.19 10.93
system.time(read.csv2("D:/R/data/mydata.csv"))
 用户  系统  流逝 
44.56  0.17 44.80 
 system.time(fread("D:/R/data/mydata.csv"))
用户 系统 流逝 
1.14 0.02 1.16 

看来大数据集还得看fread啊。罪过,一切都是罪过。

猜你喜欢

转载自blog.csdn.net/zhuangailing/article/details/79911707