names文件和data文件_data.table让你的读取速度提升百倍
生活随笔
收集整理的這篇文章主要介紹了
names文件和data文件_data.table让你的读取速度提升百倍
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
不知道大家有沒有用read.table和read.csv讀取過文件,當(dāng)文件不大的時(shí)候你可能還感覺不出讀取速度,但是當(dāng)文件比較大的時(shí)候,比如有上萬行的時(shí)候,你就會(huì)感覺到等待時(shí)間明顯變長,甚至無法忍受。
今天小編給大家安利一個(gè)實(shí)用的R包data.table, 這個(gè)包可以明顯的提升大文件的讀取速度。下面我們就來做一個(gè)實(shí)驗(yàn)。我們隨機(jī)生成一個(gè)100萬行10列的文件,保存到你的電腦上,文件的大小可以達(dá)到173MB。接下來我們分別用傳統(tǒng)的read.csv和data.table包里面的fread函數(shù)來讀取這個(gè)超大的文件,然后比較兩種方法的讀取速度。
# 加載data.table包 library(data.table)# 數(shù)據(jù)讀取性能對(duì)比分析 # 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')})我們可以看到傳統(tǒng)的read.csv讀取該文件所需要的時(shí)間為48.84秒,而利用data.table包中的fread函數(shù)來讀取只需要0.47秒,速度整整提升了100倍。、
> # Time taken by read.csv to import > system.time({m_df <- read.csv('m2.csv')})用戶 系統(tǒng) 流逝 48.84 1.09 50.72 > # Time taken by fread to import > system.time({m_dt <- fread('m2.csv')}) 用戶 系統(tǒng) 流逝 0.47 0.08 0.31大家趕緊試試吧!
【R語言】data.table讓你的讀取速度提升百倍?mp.weixin.qq.com總結(jié)
以上是生活随笔為你收集整理的names文件和data文件_data.table让你的读取速度提升百倍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果 iPhone 13 锁屏无法收到微
- 下一篇: 差分放大电路差模共模公式_提高差分放大器