2012-06-14 54 views
3

我通過大量參數組合(20-40k)模擬合理大小的數據集(10-20mb)。通過mclapply推送每個數據集x參數集,結果爲list,其中每個項目包含輸出數據(如列表項目1)以及用於生成列表項目2(其中該列表的每個元素都是參數)的參數。什麼是存儲由R生成的大型結果的理想格式?

我剛剛跑過一個81K列表(但必須以30k塊運行它們),結果列表每個大約700 MB。我將它們存儲爲.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

相關問題