R 에서 데이터 파일 빠르게 읽기
How to read data file fast in 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)
})
다운로드를 하는 시간까지 포함해도 10배 이상의 속도차를 확인할 수 있다. 예시에 쓰인 파일
dummy.csv 은 고작 1만줄에 용량도 1.1MB밖에 안하는데, 사실은 80MB짜리 원본 데이터를 줄이고 줄인 것이다.
read.csv()
가 너무 느려서 중간에 뻗었는지 어떤지 확인할 방법도 없었기 때문이다. 기다리다보면 결국엔 원본 데이터도 읽을 수 있을지도 모르지만, 그만큼 기다릴 인내심이 없어서 아주 작게 줄였다.
댓글