Как вывести список фреймов данных, который может быть использован другим пользователем - PullRequest
0 голосов
/ 22 октября 2019

У меня есть список, элементы которого представляют собой несколько фреймов данных, который выглядит следующим образом enter image description here

Поскольку другому пользователю трудно использовать эти данные, повторно выполняя мой исходный код,Следовательно, я хотел бы экспортировать его. Как видно из графика, кадры данных в этом списке имеют разное количество строк. Мне интересно, есть ли какой-нибудь способ экспортировать его как файл, не повреждая какую-либо информацию, и сделать его возможным для использования Rstudio. Я пытался сохранить его как RData, но я не знаю, как сохранить информацию. Большое спасибо

1 Ответ

0 голосов
/ 22 октября 2019

Для вывода объектов в R, есть 4 распространенных метода:

  • dput() записывает текстовое представление объекта R

Это очень удобно, если выВы хотите, чтобы кто-то мог получить ваш объект путем копирования и вставки текста (например, на этом сайте), без необходимости отправлять по электронной почте или загружать и загружать файл. Недостатком, однако, является то, что вывод является длинным и повторное чтение объекта в R (просто путем присвоения скопированного текста объекту) может повесить R для больших объектов. Это работает лучше всего для создания воспроизводимых примеров. Для списка фреймов данных это не очень хороший вариант.

  • Вы можете напечатать объект в файл .csv, .xlsx и т. Д. С помощью write.table(), write.csv(), readr::write_csv(), xlsx::write.xlsx() и т. Д.

Тогда как файл может быть использован другим программным обеспечением (и повторно импортирован в R с помощью read.csv(), readr::read_csv(), readxl::read_excel()и т. д.), данные могут быть преобразованы в процессе, и некоторые объекты не могут быть напечатаны в одном файле без предварительной модификации. Так что в вашем случае это тоже не идеально.

  • save.image() сохраняет все ваше рабочее пространство (объекты + окружение)

Рабочее пространство может быть воссоздано с помощью load(),Это может быть полезно, но вас интересует только сохранение одного объекта. В этом случае предпочтительнее использовать:

  • saveRDS(), что позволяет записать один объект в файл

Затем этот объект можно воссоздать с помощью readRDS(). Это лучший вариант для сохранения объекта R в файл без каких-либо изменений и повторного его создания.

В вашей ситуации это, безусловно, лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...