Ich habe in R einen data.frame erstellt, der nicht sehr groß ist, dessen Erstellung jedoch einige Zeit in Anspruch nimmt. Ich würde es als Datei speichern, die ich dann wieder in R öffnen kann?
Ich habe in R einen data.frame erstellt, der nicht sehr groß ist, dessen Erstellung jedoch einige Zeit in Anspruch nimmt. Ich würde es als Datei speichern, die ich dann wieder in R öffnen kann?
Antworten:
Es gibt verschiedene Möglichkeiten. Eine Möglichkeit besteht save()
darin, das genaue Objekt zu speichern. zB für Datenrahmen foo
:
save(foo,file="data.Rda")
Dann laden Sie es mit:
load("data.Rda")
Sie können auch write.table()
oder so etwas verwenden, um die Tabelle im Klartext zu speichern oder dput()
um R-Code zum Reproduzieren der Tabelle zu erhalten.
dump()
über save()
und write.table()
überdump()
save()
/ load()
wird? Wenn ja, ist dies ebenfalls zu berücksichtigen. Normalerweise verarbeite ich einige CSV-Dateien in einem Abschnitt. Sobald ich sie dort habe, wo ich sie mag, ziehe ich es vor, sie zu speichern, damit ich diesen Code nicht jedes Mal neu ausführen muss, wenn ich mein Projekt erneut besuche. Daher ist es wichtig, diese Arbeit / Änderungen an der Struktur beizubehalten.
dump()
speichert auch die Struktur. Das Schöne daran write.table
ist, dass es Tabellen so schreibt, wie viele Software sie importieren können.
saveRDS
, um einen Datenrahmen ohne Namen zu speichern (dhendrickson hat eine Antwort darauf).
Wenn Sie nur ein einzelnes Objekt (Ihren Datenrahmen) speichern, können Sie auch verwenden saveRDS
.
Speichern:
saveRDS(foo, file="data.Rda")
Dann lesen Sie es mit:
bar <- readRDS(file="data.Rda")
Der Unterschied zwischen saveRDS
und save
besteht darin, dass im ersteren nur ein Objekt gespeichert werden kann und der Name des Objekts nach dem Laden nicht mehr identisch sein muss.
Angenommen, Sie haben einen von Ihnen erstellten Datenrahmen mit dem Namen "Data_output". Sie können ihn einfach mithilfe der folgenden Syntax in dasselbe Verzeichnis exportieren.
write.csv (Data_output, "output.csv", row.names = F, quote = F)
dump
und erstellte Dateien würdensource()
-ed, obwohl diehelp(dump)
Seite sagt,save
ist "sicherer".