2012-06-14 4 views
3

많은 매개 변수 조합 (20-40k)을 통해 합리적으로 크기가 조정 된 데이터 세트 (10-20MB)를 시뮬레이트합니다. 각 데이터 집합 x 매개 변수 집합은 mclapply을 통해 푸시되고 결과는 list이며 각 항목에는 출력 데이터 (목록 항목 1)와 해당 결과를 목록 항목 2 (해당 목록의 각 요소가 매개 변수)로 사용하는 매개 변수가 들어 있습니다.R로 생성 된 큰 결과를 저장하기위한 이상적인 형식은 무엇입니까?

방금 ​​81K 목록을 통과했지만 (30K 청크에서 실행해야 함) 결과 목록은 각각 약 700MB입니다. 파일을 .rdata 개의 파일로 저장했지만 .Rda에 다시 저장합니다. 그러나 각 파일은 영원히 읽을 때 R에 저장됩니다. 특히 장기간 보관할 때 가장 좋은 방법이 있습니까?

mclapply은 벡터를 직렬화 할 수 없다는 오류를 던지고이 큰 작업은 클러스터에서 영원히 걸릴 것입니다 (3 방향으로 분할, 3 시간/작업 소요). 그러나 여러 결과 파일을 가지고 results1a.rdata, results2b.rdata, results3c.rdata도 비효율적 인 것 같습니다.

답변

4

두 가지 질문이있는 것 같습니다. 목록 형식을 다른 질문으로 최적화하는 것이 좋습니다.

그러나 R 데이터를 디스크에 쓰는 것에 관해서는 Rda 파일보다 효율성면에서 더 좋은 방법이 있는지 확신하지 못합니다. 그러나, 압축 수준은 계산 설정에 따라이 파일을 읽고 쓰는 데 걸리는 시간에 실제 효과가있을 수 있음을 발견했습니다. 나는 일반적으로 압축을 사용하지 않고 최상의 성능을 얻는다고 발견했습니다 (save(x,file="y.Rda", compress=FALSE)).

백업 계획으로 압축을 그대로 둘 수는 있지만 압축 수준은 변화시킬 수 있습니다.

+1

또 다른 옵션은 다른 이름으로 개체를 복원 할 수있는'saveRDS'입니다. – mnel

관련 문제