2016-03-29 25 views
-1

ff paketiyle yüklenen crlmm paketi tarafından yaratılan bir CNSet nesnesi vardı.Ff dosyaları taşındıktan sonra ff nesnesinin yüklenmesi

Bir RData dosyası olarak kaydettirdim (save işlevini kullanarak, ffsave değil). Ve sonra ff dosyamı başka bir konuma taşımak zorunda kaldım. Sonra nesneyi load işlevini kullanarak yüklemeye çalıştım. Ancak, nesnenin bir bölümüne eriştiğimde, orijinal konumdaki ff dosyasının bulunamadığı konusunda bir hata alıyorum.

ldPath işlevini kullanarak yeni konumu ayarlıyorum, ancak hala eski yola bakıyorum.

Örnek: herhangi bir yardım takdir edilecektir

library(ff) 
ldPath('/new_location') 
load('object.RData') 
summary(g) 
#Works, print: 
#Length Class Mode 
#1 CNSet  S4 

calls(g)[1] 
#Raises the next error: 

opening ff /old/location/calld49920a2df79.ff

Error: file.access(filename, 0) == 0 is not TRUE

physical(x) 

NULL

.

cevap

0

ff nesnesi x için physical(x) <- 'my_file.ff' dosya yolunu belirtebilirsiniz. Örneğin:

library(ff) 

old <- file.path(tempdir(), 'old.ff')   # this will be the original file path 
new <- file.path(tempdir(), 'new.ff')   # this will be the new file path 
x <- ff(1:4, filename=old)     # create the original ff file 
save(x, file = file.path(tempdir(), 'x.rda')) # save the ff object 
close(x)          # close the ff object 
file.rename(old, new)       # rename the file 
file.remove(old)        # delete the old file 
load(file.path(tempdir(), 'x.rda'))   # load the ff object 
physical(x)$filename <- new     # assign the new file path 

head(x) 
## opening ff C:\Users\John\AppData\Local\Temp\Rtmp2ZEkgw/new.ff 
## [1] 1 2 3 4 
İlgili konular