選合適的R語言讀取資料方式
阿新 • • 發佈:2019-01-09
今天是個好日子,特地花時間看了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_csv2
和read_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
啊。罪過,一切都是罪過。