J'ai fait un data.frame en R qui n'est pas très gros, mais cela prend un certain temps à construire. Je voudrais l'enregistrer en tant que fichier, que je peux ensuite ouvrir à nouveau dans R?
J'ai fait un data.frame en R qui n'est pas très gros, mais cela prend un certain temps à construire. Je voudrais l'enregistrer en tant que fichier, que je peux ensuite ouvrir à nouveau dans R?
Réponses:
Il existe plusieurs manières. Une façon consiste à utiliser save()
pour enregistrer l'objet exact. par exemple pour la trame de données foo
:
save(foo,file="data.Rda")
Puis chargez-le avec:
load("data.Rda")
Vous pouvez également utiliser write.table()
ou quelque chose comme ça pour enregistrer la table en texte brut, ou dput()
pour obtenir du code R pour reproduire la table.
dump()
plus save()
et write.table()
plusdump()
save()
/ load()
va? Si c'est le cas, c'est quelque chose à prendre en compte également. J'ai généralement une section de traitement de certains fichiers .csv et une fois que je les ai reçus là où je les aime, je préfère les enregistrer pour ne pas avoir à réexécuter ce code à chaque fois que je revisite mon projet. Donc, il est important de considérer la préservation de ce travail / ajustements de la structure.
dump()
enregistre également la structure. Ce write.table
qui est bien, c'est qu'il écrit des tables d'une manière que de nombreux logiciels peuvent importer.
saveRDS
pour enregistrer un dataframe sans son nom (dhendrickson a une réponse à ce sujet).
Si vous n'enregistrez qu'un seul objet (votre bloc de données), vous pouvez également utiliser saveRDS
.
Sauver:
saveRDS(foo, file="data.Rda")
Alors lisez-le avec:
bar <- readRDS(file="data.Rda")
La différence entre saveRDS
et save
est que dans l'ancien, un seul objet peut être enregistré et le nom de l'objet n'est pas forcé d'être le même après son chargement.
Supposons que vous ayez un bloc de données que vous avez créé et nommé "Data_output", vous pouvez simplement l'exporter dans le même répertoire en utilisant la syntaxe suivante.
write.csv (Data_output, "output.csv", row.names = F, quote = F)
dump
et les fichiers créés seraientsource()
-ed, bien que lahelp(dump)
page indique quesave
c'est "plus sûr".