Як зберегти data.frame в R?


137

Я зробив data.frame в R, який не дуже великий, але для його побудови потрібно досить багато часу. Я хотів би зберегти його як файл, який я можу знову відкрити в R?

Відповіді:


176

Існує кілька способів. Один із способів - використовувати save()для збереження точного об’єкта. наприклад для кадру даних foo:

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

Потім завантажте його:

load("data.Rda")

Ви також можете використати write.table()щось подібне, щоб зберегти таблицю в простому тексті або dput()отримати код R для відтворення таблиці.


2
Існує також dumpі створені файли були б source()-ed, хоча на help(dump)сторінці написано save"безпечніше".
IRTFM

4
Я завжди вважаю за краще зберігати дані в простому тексті, тому я віддаю перевагу dump()більше save()і write.table()більшеdump()
Sacha Epskamp

Я правда, що write.table не збереже такі речі, як встановлення стовпця 0 і 1 як фактор, але це save()/ load()буде? Якщо так, то це теж слід враховувати. У мене зазвичай є розділ обробки деяких файлів .csv, і як тільки я отримую їх там, де вони мені подобаються, я вважаю за краще зберігати їх, тому мені не доведеться повторно запускати цей код кожен раз, коли я повторно відвідую свій проект. Отже, важливо враховувати, що робота / підключення до структури.
Хенді

4
Так. dump()також зберігає структуру. Приємно в тому write.table, що він пише таблиці таким чином, що багато програмне забезпечення може імпортувати.
Sacha Epskamp

2
Це економить більше, ніж просто кадр даних. Дивіться, saveRDSщоб зберегти кадр даних без його імені (dhendrickson має відповідь на це).
PatrickT

91

Якщо ви зберігаєте лише один об'єкт (ваш кадр даних), ви також можете використовувати його saveRDS.
Зберегти:

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

Потім прочитайте його за допомогою:

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

Різниця між saveRDSі saveполягає в тому, що в колишньому можна зберегти лише один об’єкт, а ім'я об'єкта не змушене бути однаковим після його завантаження.


1

Скажімо, у вас створений кадр даних, який ви створили та назвали "Data_output", ви можете просто експортувати його в той самий каталог, використовуючи наступний синтаксис.

write.csv (Data_output, "output.csv", row.names = F, quota = F)

кредит Петру та Іллі, UMCG, Нідерланди

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.