disk.frame 패키지 소개

공지
- 대용량 데이터 전처리시에 필요한 패키지를 소개한다.
- 주석은 가급적 원어를 남겨 놓으니 잘 번역하기를 바란다.
설치
- 설치 방법은 기존과 마찬가지로 간단하게 작성할 수 있다.
install.packages("disk.frame")
suppressPackageStartupMessages(library(disk.frame))
library(nycflights13)
패키지 주요 아이디어
- 메모리보다 많은 데이터를 각각의
chunks로 분해하여 하나의 폴더 안에 저장한다. (HDD 디스크 사용) - 자세한 셜명은 Giuhub를 참고 (https://github.com/xiaodaigh/disk.frame)
Setup
- 실습 환경을 구성한다.
setup_disk.frame()
## The number of workers available for disk.frame is 1
# this allows large datasets to be transferred between sessions
options(future.globals.maxSize = Inf)
빠른 시작
- nycflights13 데이터를 활용한다.
- 이 예제는 dplyr 배울 때, 자주 등장하는 예제
- 참고: https://r4ds.had.co.nz/transform.html
disk.frame으로 변환
- 데이터 객체를 disk.frame으로 변환한다.
# convert the flights data.frame to a disk.frame
# optionally, you may specify an outdir, otherwise, the
flights.df <- as.disk.frame(nycflights13::flights, overwrite = TRUE)
class(flights.df)
## [1] "disk.frame" "disk.frame.folder"
flights.df
## path: "/var/folders/zq/ch7gky6n3rzgjf1pd0w2l35w0000gn/T//Rtmp3ymGwx/file61302e8c8834.df"
## nchunks: 1
## nrow (at source): 336776
## ncol (at source): 19
## nrow (post operations): ???
## ncol (post operations): ???
-
객체가 disk.frame으로 변환된 것을 확인할 수 있다.