2011-12-01 20 views

risposta

130

Ci sono diversi modi. Un modo è utilizzare save() per salvare l'oggetto esatto. per esempio. per frame di dati foo:

save(foo,file="data.Rda") 

Poi caricarlo con:

load("data.Rda") 

Si potrebbe anche usare write.table() o qualcosa del genere per salvare la tabella in formato testo, o dput() per ottenere il codice R per riprodurre il tavolo.

+0

C'è anche 'dump' ei file creati sarebbero' source() '-ed, anche se la pagina' help (dump) 'dice' save' è "più sicuro". –

+2

Preferisco sempre archiviare i dati in testo normale, quindi preferirei 'dump()' su 'save()', e 'write.table()' su 'dump()' –

+0

Sono sicuro che write.table ha vinto preservare cose come avere impostato una colonna di 0 e 1 come fattore, ma che 'save()'/'load()' sarà? Se è così, è qualcosa da tenere in considerazione. Di solito ho una sezione di elaborazione di alcuni file .csv e una volta che li ottengo dove mi piacciono, preferisco salvarli in modo da non dover rieseguire quel codice ogni volta che visito di nuovo il mio progetto. Quindi, la conservazione di quel lavoro/modifiche alla struttura è importante da considerare. – Hendy

61

Se si sta salvando un solo oggetto (il frame di dati), è anche possibile utilizzare saveRDS.
Per salvare:

saveRDS(foo, file="data.Rda") 

poi leggerlo con:

bar <- readRDS(file="data.Rda") 

La differenza tra saveRDS e save è che nel primo solo oggetto può essere salvato e il nome dell'oggetto non è forzato essere lo stesso dopo averlo caricato.

Problemi correlati