. I file di dati non hanno un indice (i contenuti sono serializzati come un grande pairlist). Puoi hackerare un modo per passare attraverso il pairlist e assegnare solo le voci che ti piacciono, ma non è facile dato che non puoi farlo al livello R.
Tuttavia, è possibile convertire semplicemente il file .RData in un database a caricamento lento che serializza ciascuna voce separatamente e crea un indice. La cosa bella è che il carico sarà on-demand:
# convert .RData -> .rdb/.rdx
e = local({load("New.RData"); environment()})
tools:::makeLazyLoadDB(e, "New")
Caricamento del DB quindi carica solo l'indice, ma non il contenuto. I contenuti vengono caricati in cui sono utilizzati:
lazyLoad("New")
ls()
x # if you had x in the New.RData it will be fetched now from New.rdb
Proprio come con load()
è possibile specificare un ambiente di caricare in modo che non c'è bisogno di inquinare lo spazio di lavoro globale ecc
fonte
2012-01-02 16:20:24
Nei commenti, @DWin dice no. http://stackoverflow.com/questions/6550510/examining-contents-of-rdata-file-by-attaching-into-a-new-environment-possible –
Ma in tutte le questioni-R rimando a Simon. –