백만행이 넘는 자료를 불러오려면 우선 R의 fread함수를 사용하면 좋다.
data.table 패키지를 설치하면 fread, fwrite 등의 좋은 함수를 쓸 수 있다.
r에서 고전적으로 파일을 불러오는 방식은 read.table, read.csv 같은 함수를 사용하는 것이지만..
빅데이터를 불러오는데는 시간이 많이 걸려서 fread, fwrite함수를 많이 사용하게 된다.
fread함수 사용법은 다음과 같다.
step1. 100만개가 넘는 수백만 개의 자료를 각각의 csv파일로 저장한다.
step 2. 그 파일을 하나의 폴더에 모으고 작업공간으로 설정한다.
step3. 반복 함수나 lapply 같은 함수를 사용하여 fread를 사용하여 파일을 읽어서 r에 저장한다.
step4. r의 함수인 rbindlist를 사용하여 하나의 데이터셋으로 구성한다.
코드 예시

setwd를 통해 작업공간 설정
list.files를 통해 csv파일 이름을 모으기.
lapply함수를 써서 file.list에 있는 파일을 모두 읽어오는데... 여기서 주의점
lapply( 벡터, function(x) { f(x) } ) 이런 형태로 수식을 쓰면 벡터 안의 각 값에 대하여 f(x)를 수행하고 그 값을 리스트로 저장하게 된다.
fread에서 각 열의 형태를 지정하여 선택해서 읽을 수 있는데, 이 코드 에선느 1~5열은 숫자로, 6~9열은 문자로 설정하여 읽었다. 그리고 묶는 건 bind_rows를 써도 되고 rbindlist를 써도 된다.
필자의 경험에 따르면 bind_rows가 에러창이 좀 더 친절했다. rbindlist가 잘 안되면 bind_rows로 해보면서 에러를 지워나가자. (보통 파일 안에 이상한 값이 들어있거나 하면 에러가 뜬다.)
rbindlist( 데이터셋 리스트) 이렇게 하는데, id="ID"는 각 리스트의 이름을 컬럼으로 하나 만들어서 (ID칼럼) 저장하도록 지정하는 것이다.
이런 형태의 코드르 통하면 위의 작업을 손쉽게 할 수 있고, 수백만개의 자료를 다룰 수 있는 준비가 된 것이다.
R에 좋은 함수들이 참 많고 페키지도 많지만.. 읽어오고 데이터를 통합하고 이런 작업이 참 어려워서 포기를 많이 한다.
dplyr패키지와 data.table 패키지를 잘 쓰면 이런 어려움을 극복할 수 있다.