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

Як експортувати дані з R
У цьому посібнику ми дізнаємося, як експортувати дані із середовища R у різні формати.
Щоб експортувати дані на жорсткий диск, потрібен шлях до файлу та розширення. Перш за все, шлях - це місце, де будуть зберігатися дані. У цьому посібнику ви побачите, як зберігати дані на:
- Жорсткий диск
- Google Drive
- Dropbox
По-друге, R може записувати дані в багатьох форматах. У цьому посібнику розглянуто основні розширення файлів:
- CSV
- XLSX
- RDS
- ПАР
- SPSS
- STATA
Кожен експорт має однакову форму: один виклик функції, фрейм даних та шлях призначення.
Експорт на жорсткий диск
Для початку ви можете зберегти дані прямо в робочу директорію. Наступний код друкує шлях вашого робочого каталогу:
directory <- getwd() directory
вихід:
## [1] "/Users/15_Export_to_do"
Якщо ви не вкажете повний шлях, кожен файл записується в цей робочий каталог. Значення за замовчуванням залежить від системи, зазвичай це домашня папка користувача на macOS і Linux, а також папка «Документи» на Windows, але getwd() завжди повідомляє поточне значення. Змініть його за допомогою setwd() або просто передайте повний шлях до функції write.
setwd("/Users/USERNAME/Downloads")
Створити кадр даних
Спочатку створіть невеликий фрейм даних: середнє значення миль на галон та витрата палива, згруповані за передачею з набору даних 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) Вам потрібно встановити java в R. Ми рекомендуємо вам інсталювати R і Rstudio з Anaconda. Anaconda керує залежностями між бібліотеками. У цьому сенсі Anaconda впорається з тонкощами rJava установка.
Перш за все, вам потрібно оновити conda, а потім встановити бібліотека. Ви можете скопіювати та вставити наступні два рядки коду в терміналі.
conda update conda conda install -c r r-rjava
Далі відкрийте java в Rstudio
library(rJava)
Крок 3) Нарешті настав час встановити xlsx. Ще раз можна використовувати Конда зробити це:
conda install -c r r-xlsx
Як і користувачі Windows, ви можете зберігати дані за допомогою функції write.xlsx()
library(xlsx)
вихід:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Експорт даних із R до іншого програмного забезпечення
Експортувати дані в інше програмне забезпечення так само просто, як і імпортувати їх. Бібліотека «haven» забезпечує зручний спосіб експорту даних
- spss
- ПАР
- були
Перш за все, імпортуйте бібліотеку. Якщо у вас немає «притулку», можете йти тут для встановлення.
library(haven)
файл SPSS
Нижче наведено код для експорту даних до програмного забезпечення SPSS:
write_sav(df, "table_car.sav")
SAS-файл
Так само просто, як spss, ви можете експортувати в sas
write_sas(df, "table_car.sas7bdat")
STATA-файл
Нарешті, бібліотека haven дозволяє писати файл .dta.
write_dta(df, "table_car.dta")
Як експортувати дані у формати R Native
Якщо ви хочете зберегти об'єкт всередині 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")
| Критерії | зберегтиRDS() / зчитатиRDS() | зберегти() / завантажити() |
|---|---|---|
| Об'єктів у файлі | Рівно один | Один або багато |
| Назва об'єкта при перезавантаженні | Ти обираєш це | Відновлено як збережено |
| Перезаписує середовище | Немає | Так, мовчки. |
| Звичайне розширення | .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.
Бібліотека ще не доступна в Anaconda. Ви можете встановити його за допомогою наведеного нижче коду в консолі.
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. Бібліотека також недоступна в Anaconda. Ви можете встановити його через консоль
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')
вихід:
В DropBox
Щоб завантажити файл .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")
вихід:
У DropBox
Ви можете прочитати файл 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: Довідник функцій
Кожна функція експорту, що використовується в цьому посібнику, перелічена нижче:
| Library | Мета | функція |
|---|---|---|
| база | Експорт CSV | write.csv() |
| XLSX | Експорт Excel | write.xlsx() |
| притулок | Експорт spss | write_sav() |
| притулок | Експорт sas | write_sas() |
| притулок | Експорт даних | write_dta() |
| база | Експорт об'єктів R | зберегти() / зберегтиRDS() |
| Гугедріве | Завантажити Google Drive | drive_upload() |
| Гугедріве | відкрити в Google Drive | drive_browse() |
| Гугедріве | Отримати ідентифікатор файлу | drive_get(as_id()) |
| Гугедріве | Скачати з Google Drive | drive_download() |
| Гугедріве | Видалити файл із Google Drive | drive_rm() |
| rdrop2 | Authentication | drop_auth() |
| rdrop2 | Створіть папку | drop_create() |
| rdrop2 | Завантажити в Dropbox | drop_upload() |
| rdrop2 | Прочитати csv з Dropbox | drop_read_csv() |
| rdrop2 | Видалити файл із Dropbox | drop_delete() |













