참 세상 별일이다.
힘들게 병렬계산까지 해서 겨우 결과값을 얻었다고 기뻐하기도 잠시, 혹시나 해서 그 결과값을 저장해두기로 했다.
결과값이 result라고 한다면, 내가 평소에 사용하는
write.csv(result, "D:\DATA\Parallel\result1.csv")로 저장을 하려했다.
그런데 마구마구 꾸역꾸역 저장이 되나 싶은데 수 시간이 지나도 저장이 덜되고 있다.
결국 저장하다 R program이 죽어버렸다. (만일의 경우를 대비하여 저장을 하지 않았더라면 6시간 이상 데이터를 다시 돌릴뻔 했다. 여러분들도 오랜 시간이 걸리는 코드 결과물은 excel이든 rds등 저장부터 해두어야 한다는 사실을 명심하라~~~)사실 요번 논문에서 사용될 데이타중 가장 적은 시리즈인데 큰 데이타 시리즈는 어찌 다룰까 걱정이다. 이건 시간도 시간이지만 하드드라이버 메모리도 너무 잡아먹는다. 해서 다급히 구글을 뒤지니 R이 제공하는 확장자 rds로 저장을 하라 한다.
saveRDS(result, "D:\DATA\Parallel\result1.rds")로 저장을 하니.....
속도도 너무 빠를 뿐만 아니라 저장된 용량도 187,159KB로 절반이다.
BOOT<-readRDS(file="D:\\DATA\\result1.rds")
혹시나 잘못 저장이 됐다 하고 다시 rds파일을 불러 original data와 비교를 해보니 다행히도 동일하다.
여러분도 반드시 알아야할 R의 함수이다.
그리고 일전에 소개했던 RData 확장자와의 비교에서는 서로 동일한 것으로 나왔다. 저장 속도며 저장용량이 동일하다.
save(result, "D:\DATA\Parallel\result1.RData")
BOOT<-get(load("D:\DATA\Parallel\result1.RData"))
RDH는 변수 1개(가령 result1)를 저장할때, RDATA는 여러개의 변수(가령 result1, result2, result3)를 동시에 저장할때 사용한다.
www.sthda.com/english/wiki/saving-data-into-r-data-format-rds-and-rdata