Как экспортировать данные из R в CSV и Excel
⚡ Умное резюме
Экспорт данных из R включает в себя запись фрейма данных в форматы CSV, Excel, SPSS, SAS, STATA и собственные форматы R, а затем отправку того же файла в R. Google Drive or DropboxКаждый экспорт следует одному шаблону: функция, фрейм данных и путь назначения.

Как экспортировать данные из R
В этом уроке мы научимся экспортировать данные из среды R в различные форматы.
Чтобы экспортировать данные на жесткий диск, вам понадобится путь к файлу и расширение. Прежде всего, путь — это место, где будут храниться данные. В этом уроке вы увидите, как хранить данные:
- Жесткий диск
- Google Drive
- Dropbox
Во-вторых, R может записывать данные во многих форматах. В этом руководстве рассматриваются основные расширения файлов:
- CSV
- XLSX
- RDS
- ПАВ
- SPSS
- СТАТА
Каждый экспорт имеет одинаковую структуру: один вызов функции, фрейм данных и путь назначения.
Экспорт на жесткий диск
Для начала вы можете сохранить данные прямо в рабочий каталог. Следующий код печатает путь к вашему рабочему каталогу:
directory <- getwd() directory
Выход:
## [1] "/Users/15_Export_to_do"
Если не указан полный путь, все файлы записываются в указанную рабочую директорию. Путь по умолчанию различается в зависимости от системы, обычно это домашняя папка пользователя. macOS и Linux и папка «Документы» на WindowsОднако функция getwd() всегда показывает текущее значение. Измените его с помощью setwd() или просто передайте полный путь функции записи.
setwd("/Users/USERNAME/Downloads")
Создать фрейм данных
Сначала создайте небольшой фрейм данных: средние значения расхода топлива (mpg) и дисковых возможностей (disp), сгруппированные по типу передачи, из набора данных mtcars.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Выход:
## # A tibble: 3 x 3 ## gear mean_mpg mean_disp ## <dbl> <dbl> <dbl> ## 1 3 16.10667 326.3000 ## 2 4 24.53333 123.0167 ## 3 5 21.38000 202.4800
Таблица содержит три строки и три столбца. Вы можете создать файл CSV с помощью функции write.csv в R.
Как экспортировать DataFrame в файл CSV в R
Основной синтаксис write.csv в R для экспорта DataFrame в CSV в R:
write.csv(df, path) arguments -df: Dataset to save. Need to be the same name of the data frame in the environment. -path: A string. Set the destination path. Path + filename + extension i.e. "/Users/USERNAME/Downloads/mydata.csv" or the filename + extension if the folder is the same as the working directory
Пример:
write.csv(df, "table_car.csv")
Code объяснение
- write.csv(df, «table_car.csv»): создайте файл CSV на жестком диске:
- df: имя фрейма данных в среде.
- «table_car.csv»: назовите файл table_car и сохраните его как csv.
ВниманиеФункция write.csv2() записывает тот же файл, используя точку с запятой в качестве разделителя полей и запятую в качестве десятичного разделителя, что является общепринятой практикой в большей части континентальной Европы.
write.csv2(df, "table_car.csv")
ВниманиеВ учебных целях мы создали функцию open_folder(), которая открывает для вас папку каталога. Вам просто нужно запустить приведенный ниже код и посмотреть, где хранится CSV-файл. Вы должны увидеть файл с именем table_car.csv.
# Run this code to create the function open_folder <-function(dir){ if (.Platform['OS.type'] == "windows"){ shell.exec(dir) } else { system(paste(Sys.getenv("R_BROWSER"), dir)) } } # Call the function to open the folder open_folder(directory)
Как экспортировать DataFrame в файл Excel в R
Экспорт в Excel осуществляется очень просто. Windows и немного сложнее в macOSОба приложения используют библиотеку xlsx, и разница заключается только в установке, поскольку xlsx зависит от неё. Java. Java Для загрузки посылки необходимо наличие соответствующего оборудования на устройстве.
Windows пользователей
On WindowsУстановите библиотеку напрямую с помощью conda:
conda install -c r r-xlsx
После установки библиотеки функция write.xlsx() создаст новую книгу Excel в рабочем каталоге:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Если вы являетесь пользователем Mac OS, вам необходимо выполнить следующие действия:
- Шаг 1. Установите последнюю версию Java
- Шаг 2. Установите библиотеку rJava
- Шаг 3. Установите библиотеку xlsx.
Шаг 1) Вы можете скачать Java из официальных Oracle сайт и установите его.
Вы можете вернуться в Rstudio и проверить, какая версия Java установлен.
system("java -version")
Любые недавние Java Команда release работает. Если команда ничего не выдает, Java не установлен, и пакет xlsx не загрузится.
Шаг 2) Вам необходимо установить rjava в R. Мы рекомендовали вам установить R и Rstudio с Anaconda. Anaconda управляет зависимостями между библиотеками. В этом смысле Anaconda будет управлять тонкостями rJava установка.
Прежде всего вам необходимо обновить conda, а затем установить библиотеки. Вы можете скопировать и вставить следующие две строки кода в терминал.
conda update conda conda install -c r r-rjava
Далее откройте rjava в Rstudio.
library(rJava)
Шаг 3) Наконец, пришло время установить xlsx. Еще раз, вы можете использовать Conda сделать это:
conda install -c r r-xlsx
Как и пользователи Windows, вы можете сохранять данные с помощью функции write.xlsx().
library(xlsx)
Выход:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Экспорт данных из R в другое программное обеспечение
Экспортировать данные в другое программное обеспечение так же просто, как и импортировать. Библиотека «гавань» предоставляет удобный способ экспорта данных в
- SPSS
- ПАВ
- Stata
Прежде всего импортируйте библиотеку. Если у вас нет «убежища», вы можете пойти здесь для его установки.
library(haven)
SPSS-файл
Ниже приведен код для экспорта данных в программное обеспечение SPSS:
write_sav(df, "table_car.sav")
файл SAS
Так же просто, как spss, вы можете экспортировать в Sas.
write_sas(df, "table_car.sas7bdat")
STATA-файл
Наконец, библиотека Have позволяет записывать файл .dta.
write_dta(df, "table_car.dta")
Как экспортировать данные в собственные форматы R
Если вы хотите сохранить объект внутри R, а не передавать его другой программе, используйте один из двух встроенных форматов. Функция save() записывает один или несколько именованных объектов в файл .RData:
save(df, file ='table_car.RData')
Альтернативой является функция saveRDS(), которая хранит ровно один объект и позволяет читателю выбрать его имя при повторном входе:
# One object, name chosen at read time saveRDS(df, file = "table_car.rds") my_data <- readRDS("table_car.rds") # Several objects, original names restored save(df, directory, file = "workspace.RData") load("workspace.RData")
| Критерии | saveRDS() / readRDS() | сохранить() / загрузить() |
|---|---|---|
| Объектов на файл | Ровно один | Один или несколько |
| Имя объекта при перезагрузке | Вы сами выбираете это. | Восстановлено в сохраненном виде. |
| Перезаписывает среду | Нет | Да, молча |
| Обычное расширение | .rds | .RData |
В скриптах предпочтительнее использовать функцию saveRDS(), поскольку функция load() может незаметно перезаписать существующий объект с тем же именем. Оба формата сохраняют уровни факторов, порядок и атрибуты в неизменном виде, чего не может сделать CSV.
Вы можете проверить файлы, созданные выше, в текущем рабочем каталоге.
Взаимодействие с облачными сервисами
Последнее, но не менее R оснащен фантастическими библиотеками для взаимодействия со службами облачных вычислений. Последняя часть этого руководства посвящена экспорту/импорту файлов из:
- Google Drive
- Dropbox
ВниманиеВ этой части руководства предполагается, что у вас есть учетная запись. Google и Dropbox. Если нет, вы можете быстро создать его для – Google Drive: https://accounts.google.com/SignUp?hl=en – Dropbox: https://www.dropbox.com/h
Google Drive
Вам необходимо установить библиотеку googledrive для доступа к функции, позволяющей взаимодействовать с Google Drive.
Библиотека в Анаконде пока недоступна. Вы можете установить его с помощью кода ниже в консоли.
install.packages("googledrive")
и вы открываете библиотеку.
library(googledrive)
Для пользователей, не использующих conda, установка библиотеки проста: можно использовать `install.packages('NAME OF PACKAGE')`, указав имя пакета в кавычках внутри скобок. R установит его в первое местоположение, возвращаемое функцией `.libPaths()`.
Загрузить на Google Drive
Чтобы загрузить файл в Google Для загрузки с диска вам необходимо использовать функцию drive_upload().
Каждый раз, когда вы перезапускаете Rstudio, вам будет предложено разрешить доступ tidyverse к Google Drive.
Основной синтаксис Drive_upload():
drive_upload(file, path = NULL, name = NULL) arguments: - file: Full name of the file to upload (i.e., including the extension) - path: Location of the file- name: You can rename it as you wish. By default, it is the local name.
После запуска кода вам необходимо подтвердить несколько вопросов
drive_upload("table_car.csv", name = "table_car")
Выход:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
Вы вводите 1 в консоли, чтобы подтвердить доступ
Затем вас перенаправят на Google Для предоставления доступа к API нажмите «Разрешить».
После завершения аутентификации вы можете выйти из браузера.
В консоли Rstudio можно увидеть сводку выполненного шага. Google Файл, расположенный локально на Диске, успешно загружен. Google присвоить идентификатор каждому файлу на диске.
Вы можете увидеть этот файл в Google Spreadsheet.
drive_browse("table_car")
Выход:
Вы будете перенаправлены на Google Spreadsheet
Импорт из Google Drive
Надежный способ — загрузка по идентификатору файла. Если вам известно имя файла, сначала получите его идентификатор:
Внимание: в зависимости от вашего подключения к Интернету и размера вашего Диска это может занять некоторое время.
x <-drive_get("table_car")
as_id(x)
Вы сохранили идентификатор в переменной x. Функцияdrive_download() позволяет загрузить файл с Google Drive.
Основной синтаксис:
drive_download(file, path = NULL, overwrite = FALSE) arguments: - file: Name or id of the file to download -path: Location to download the file. By default, it is downloaded to the working directory and the name as in Google Drive -overwrite = FALSE: If the file already exists, don't overwrite it. If set to TRUE, the old file is erased and replaced by the new one.
Наконец, вы можете скачать файл:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code объяснение
- Drive_download(): Функция для загрузки файла с Google Drive
- as_id(x): используйте идентификатор для просмотра файла в Google Drive
- overwrite = TRUE: если файл существует, перезапишите его, иначе выполнение остановлено. Чтобы просмотреть имя файла локально, вы можете использовать:
Выход:
Файл хранится в вашей рабочей директории. Не забудьте добавить расширение файла перед открытием его в R. Полное имя можно создать с помощью функции paste() (например, table_car.csv).
google_file <-download_google$local_path google_file path <-paste(google_file, ".csv", sep = "") google_table_car <-read.csv(path) google_table_car
Выход:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
Наконец, вы можете удалить файл из вашего Google езды.
## remove file
drive_find("table_car") %>%drive_rm()
Выход:
Удаление обрабатывается асинхронно. GoogleПоэтому для исчезновения файла может потребоваться некоторое время.
Экспорт в Dropbox
R взаимодействует с Dropbox через библиотеку rdrop2. Библиотека также недоступна в Анаконде. Установить его можно через консоль
install.packages('rdrop2')
library(rdrop2)
Вы предоставляете временный доступ к Dropbox После аутентификации R сможет создавать, удалять, загружать и скачивать файлы в вашей папке. Dropbox.
Прежде всего, вам необходимо предоставить доступ к своему аккаунту. Учетные данные кэшируются в течение всего сеанса.
drop_auth()
Вы будете перенаправлены на Dropbox для подтверждения аутентификации.
Вы получите страницу подтверждения. Вы можете закрыть его и вернуться к R.
Вы можете создать папку с помощью функции drop_create().
- drop_create('my_first_drop'): Создайте папку в первой ветке Dropbox
- drop_create('First_branch/my_first_drop'): Создайте папку внутри существующей папки First_branch.
drop_create('my_first_drop')
Выход:
В паденииBox
Чтобы загрузить файл .csv в свой Dropbox, используйте функцию drop_upload().
Базовый синтаксис:
drop_upload(file, path = NULL, mode = "overwrite") arguments: - file: local path - path: Path on Dropbox - mode = "overwrite": By default, overwrite an existing file. If set to `add`, the upload is not completed.
drop_upload('table_car.csv', path = "my_first_drop")
Выход:
В паденииBox
Вы можете прочитать файл csv из Dropbox с помощью функции drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
Выход:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
Когда вы закончите использовать файл и захотите его удалить. Вам нужно прописать путь к файлу в функции drop_delete().
drop_delete('my_first_drop/table_car.csv')
Выход:
Также возможно удалить папку
drop_delete('my_first_drop')
Выход:
Экспорт данных из R: Справочник по функциям
Ниже перечислены все функции экспорта, использованные в этом руководстве:
| Библиотека | Цель | Функция |
|---|---|---|
| Использование темпера с изогнутым основанием | Экспорт csv | запись.csv() |
| XLSX | Экспортировать в Excel | запись.xlsx() |
| убежище | Экспортировать спсс | write_sav() |
| убежище | Экспортировать САС | write_sas() |
| убежище | Экспортировать данные | write_dta() |
| Использование темпера с изогнутым основанием | Экспорт объектов R | save() / saveRDS() |
| Google Drive | Загрузите Google Drive | Drive_upload() |
| Google Drive | Открыть в Google Drive | диск_обзор() |
| Google Drive | Получить идентификатор файла | диск_get(as_id()) |
| Google Drive | Скачать с Google Drive | drive_download() |
| Google Drive | Удалить файл из Google Drive | диск_rm() |
| рдроп2 | Аутентификация | drop_auth() |
| рдроп2 | Создать папку | drop_create() |
| рдроп2 | Загрузить на Dropbox | drop_upload() |
| рдроп2 | Прочитать CSV из Dropbox | drop_read_csv() |
| рдроп2 | Удалить файл из Dropbox | drop_delete() |













