Я создал data.frame в R, который не очень большой, но его сборка занимает довольно много времени. Я хотел бы сохранить его как файл, который я могу, чем снова открыть в R?
Я создал data.frame в R, который не очень большой, но его сборка занимает довольно много времени. Я хотел бы сохранить его как файл, который я могу, чем снова открыть в R?
Ответы:
Есть несколько способов. Одним из способов является использование save()
для сохранения точного объекта. например, для фрейма данных foo
:
save(foo,file="data.Rda")
Затем загрузите его:
load("data.Rda")
Вы также можете использовать write.table()
или что-то в этом роде, чтобы сохранить таблицу в виде обычного текста или dput()
получить код R для воспроизведения таблицы.
dump()
снова save()
и write.table()
сноваdump()
save()
/ load()
будет? Если так, то это тоже нужно учитывать. У меня обычно есть раздел обработки некоторых файлов .csv, и как только я получаю их там, где они мне нравятся, я предпочитаю сохранять их, чтобы мне не приходилось перезапускать этот код каждый раз, когда я снова посещаю свой проект. Таким образом, сохранение этой работы / настроек структуры важно учитывать.
dump()
также сохраняет структуру. Приятно то, write.table
что он записывает таблицы так, как многие программы могут импортировать.
saveRDS
чтобы сохранить фрейм данных без его имени (у dhendrickson есть ответ на этот вопрос).
Если вы сохраняете только один объект (ваш фрейм данных), вы также можете использовать saveRDS
.
Сохранить:
saveRDS(foo, file="data.Rda")
Тогда прочитайте это с:
bar <- readRDS(file="data.Rda")
Разница между saveRDS
и save
заключается в том, что в первом случае может быть сохранен только один объект, и имя объекта не обязательно должно совпадать после его загрузки.
Допустим, у вас есть созданный вами фрейм данных с именем «Data_output», вы можете просто экспортировать его в тот же каталог, используя следующий синтаксис.
write.csv (Data_output, "output.csv", row.names = F, quote = F)
dump
и файлы, созданные будутsource()
-ed, хотяhelp(dump)
страница говорит,save
что "безопаснее".