2013-08-01 49 views
0

如何正確使用ffload中的list功能選擇性地加載ffdf的一部分?如何使用ffload中的列表功能選擇性地加載ffdf?

我已經讀了很多次,有可能有選擇地加載ff數據幀的一部分,但似乎無法讓我自己工作。

我的問題是,我試圖執行與具有唯一ID列表的矢量合併,但ffdf文件太大,我的電腦無法處理此合併。

到目前爲止,我一直試圖使用ffinfo來獲得組成我的ffdf不同部分的列表。

舉例來說,我得到了下面的「文件部分」清單有問題的ffdf:

ffinfo(file=paste(imp_tables_root_loc,table_name,sep="")) 

其中paste(imp_tables_root_loc,table_name,sep="")指定ffdf表和它的位置

[1] "ffdf1590409e251b.ff" "ffdf159047426082.ff" "ffdf159058a426ab.ff" "ffdf1590410708c.ff" "ffdf159022b49bf.ff" 
[6] "ffdf1590174e5dec.ff" "ffdf159045d93226.ff" "ffdf159037f87280.ff" "ffdf159044ad3d39.ff" "ffdf15905224601a.ff" 
[11] "ffdf159027936205.ff" "ffdf1590133841c8.ff" "ffdf15902d365cac.ff" "ffdf159065b4259.ff" "ffdf15904a162908.ff" 
[16] "ffdf15905529c1c.ff" "ffdf1590eda1092.ff" "ffdf1590ab65eb.ff" "ffdf159048e74f82.ff" 

我再嘗試通過調用ffload:

ffload(file=paste(imp_tables_root_loc,table_name,sep=""),list="ffdf1590409e251b.ff") 

但是,這會導致此錯誤:

Error in ffload(file = paste(imp_tables_root_loc, table_name, sep = ""), : not in ffarchive: " ffdf1590409e251b.ff",

回答

0

list: An optional vector of names selecting those objects to be restored (default NULL restores all)

所以它允許您在ffsave倒是多,你只加載特定對象。即

R> a = as.ffdf(data.frame(x = rnorm(10), y = rbinom(10, 5, .2))) 
R> b = as.ffdf(data.frame(g = 1:15, h = rpois(15, 5))) 
R> ffsave(a, b, file = "foo") 
R> rm(list = ls()) 
R> ffload("foo", list = "a") 
R> ls() 
[1] "a" 
R> rm(list = ls()) 
R> ffload("foo", list = "b") 
R> ls() 
[1] "b" 

我不認爲它允許您加載只有一個一個ffdf

相關問題