2015-06-05 14 views
5

.Rdata dosyalarının R'nin yüklenmesi için açılmış dosya formatı olabileceği sezgiseldir, ancak yığın iletilerinden bazılarını tararken, .csv veya diğer biçimler için yükleme sürelerinin artırılmasına daha fazla dikkat edildiğini görürüz. Kesin bir cevap var mı?En hızlı okunan dosya formatları nelerdir?

+0

kadar hızlı sadece yarısıdır yavaş büyüklükte bir düzen olduğunu hızlı şekilde işliyor Doğru cevaplama sorusu. Herhangi bir dosya okuma işlevini, örneğin derlenmiş ve optimize edilmiş c- veya Fortran koduna dönüştürmeyi düşünmeniz gerekir. Buna ek olarak, genellikle, ** ilk önce R ** dosyasında dosyalar oluşturulmadıkça bir giriş biçimi seçiminiz olmadığından, cevabın gerçekten önemli olduğundan emin değilim! –

cevap

6

Değil kesin cevap, ancak aşağıda kez aynı dataframe utils::read.delim(), readr::read_tsv(), data.table::fread() ile .tab dosya olarak okumak ve yüklemek için aldı olduğu bir ikili .RData dosya system.time() fonksiyonu kullanılarak zamanlanmış olarak:

.tab ile readr::read_tsv

ile utils::read.delim
system.time(
    read.delim("file.tab") 
) 
# user system elapsed 
# 52.279 0.146 52.465 

.tab ile

.tabdata.table::fread

@Roman isteğini bir kabarcık 3 saniyede yüklendi aynı ~ 500MB dosya: Aynı dataframe

system.time(
    load("file.RData") 
) 
# user system elapsed 
# 2.181 0.028 2.210 

arasında

system.time(
    data.table::fread("file.tab") 
) 
# Read 49739 rows and 3005 (of 3005) columns from 0.400 GB file in 00:00:04 
# user system elapsed 
# 3.078 0.092 3.172 

.RData ikili dosya Açıkça kesin değil (örnek boyutu = 1!) Fakat benim durumumda 500MB veri çerçevesine sahip:

  1. İkili .RData
  2. data.frame::fread() yakın ikinci
  3. readr::read_tsv
  4. utils::read.x yavaş ve Bu çok zor readr

+1

Bunu nasıl etkileyeceğimi merak ediyorum? Bir şey vermek ister misin? –

+0

Bu delice hızlı bir şekilde ele aldı @ RomanLuštrik – Phil

+0

@Phil Ben 'colClasses' belirterek tsv dosyalarının okuma süresini artıracağından eminim. Bu karşılaştırmayı eklemek faydalı olabilir. – nrussell

İlgili konular