R 에서 데이터 파일 빠르게 읽기

R 에서 데이터 파일 빠르게 읽기

개요

R 은 기본적으로 csv 데이터를 읽는 함수로써 read.csv()를 제공하지만, 그냥 간편하게 쓰는 정도가 아니라 실전적인 분석을 하고 있다면 성능이 너무 떨어져서 써먹을 것이 못 된다. 그 대안으로써, readr 패키지에서 제공하는 read\_csv()를 사용할 것을 강력하게 권장한다. read\_csv()는 c++로 작성되었으며, 매우 빠른 속도로 csv 파일을 읽어들일 수 있다.

코드

다음은 read.csv()read\_csv()소요시간을 측정한 것이다:


link = "../attachment/cfile1.uf@992EC4385D6B6D21123DAE.csv"
system.time({
  x<-read.csv(link,header=F)
})

library(readr)
system.time({
  y<-read\_csv(link)
})

20190901\_162033.png 다운로드를 하는 시간까지 포함해도 10배 이상의 속도차를 확인할 수 있다. 예시에 쓰인 파일 61f91d438 dummy.csv 은 고작 1만줄에 용량도 1.1MB밖에 안하는데, 사실은 80MB짜리 원본 데이터를 줄이고 줄인 것이다. read.csv()가 너무 느려서 중간에 뻗었는지 어떤지 확인할 방법도 없었기 때문이다. 기다리다보면 결국엔 원본 데이터도 읽을 수 있을지도 모르지만, 그만큼 기다릴 인내심이 없어서 아주 작게 줄였다.

20190901\_155859.png

댓글