객체의 파일 입출력
데이터를 다양한 알고리즘으로 장시간 처리한 뒤 파일에 저장해두면 나중에 같은 계산을 반복할 필요가 없어 효율적이다. 바이너리 파일로 R 객체를 저장하고 불러들이는 함수에는 save( ), load( )가 있다.
save : 메모리에 있는 객체를 파일에 저장한다. |
save( ..., # 저장할 객체의 이름 list=character(), # 저장할 객체의 이름을 벡터로 지정할 경우 ... 대신 사용 file # 파일명 ) |
load : 파일로부터 객체를 메모리로 읽어들인다. |
load(
file # 파일명
)
반환 값은 파일에서 읽어들인 객체의 이름들을 저장한 벡터다. |
다음은 두 벡터 x, y를 xy.RData 파일에 저장하는 예다.
> x <- 1:5 > y <- 6:10 > save(x, y, file="xy.RData")
메모리에 있는 모든 객체를 저장하고자 한다면 메모리에 있는 객체 목록을 조회하는 함수 ls( )2 의 결과를 list 인자에 지정할 수 있다. 다음은 a, b, c 객체를 파일 abc.RData에 저장하는 예다.
> rm(list=ls()) # 메모리에 있는 객체를 모두 삭제 > a <- 1:5 > b <- 6:10 > c <- 11:15 > save(list=ls(), file="abc.RData")
파일로부터 데이터를 불러들이는 함수는 load( )다. 다음 코드는 abc.RData 파일로부터 a, b, c 객체를 불러들이는 예를 보여준다.
> rm(list=ls()) > ls() character(0) > load("abc.RData") > ls() [1] "a" "b" "c" > a [1] 1 2 3 4 5 > b [1] 6 7 8 9 10 > c [1] 11 12 13 14 15
2 ‘3.5 스코프’ 절에서 설명했다.