Как да експортирате данни от R в CSV и Excel
⚡ Умно обобщение
Експортирането на данни от R обхваща записването на рамка от данни в CSV, Excel, SPSS, SAS, STATA и нативен R формат, след което изпращането на същия файл към Google Drive or DropboxВсеки експорт следва един шаблон: функция, рамка от данни и път на местоназначение.

Как да експортирате данни от R
В този урок ще научим как да експортираме данни от R среда в различни формати.
За да експортирате данни на твърдия диск, имате нужда от пътя на файла и разширение. На първо място, пътят е мястото, където ще се съхраняват данните. В този урок ще видите как да съхранявате данни на:
- Твърдият диск
- Google Drive
- Dropbox
Второ, R може да записва данните в много формати. Този урок обхваща основните файлови разширения:
- CSV
- XLSX
- RDS
- SAS
- SPSS
- STATA
Всеки експорт следва една и съща форма: едно извикване на функция, рамка от данни и път на местоназначение.
Експортиране на твърд диск
Като начало можете да запишете данните директно в работната директория. Следният код отпечатва пътя на вашата работна директория:
directory <- getwd() directory
Изход:
## [1] "/Users/15_Export_to_do"
Освен ако не предоставите пълен път, всеки файл се записва в тази работна директория. Стойността по подразбиране се различава в зависимост от системата, обикновено това е домашната папка на потребителя на macOS и Linux и папката „Документи“ на Windows, но getwd() винаги ви казва текущата стойност. Променете я със setwd() или просто предоставете пълен път към функцията write.
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) Трябва да инсталирате 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 да го направя:
conda install -c r r-xlsx
Точно както потребителите на Windows, можете да запазвате данни с функцията write.xlsx()
library(xlsx)
Изход:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Експортиране на данни от R към различен софтуер
Експортирането на данни към различен софтуер е толкова просто, колкото импортирането им. „Убежището“ на библиотеката предоставя удобен начин за експортиране на данни
- spss
- SAS
- Stata
Първо, импортирайте библиотеката. Ако нямате „убежище“, можете да отидете тук за да я инсталирате.
library(haven)
SPSS файл
По-долу е кодът за експортиране на данните в софтуер SPSS:
write_sav(df, "table_car.sav")
SAS файл
Също толкова просто, колкото spss, можете да експортирате в sas
write_sas(df, "table_car.sas7bdat")
STATA файл
И накрая, библиотеката убежище позволява писане на .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)
Съхранили сте ID в променливата 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): Използвайте ID, за да разглеждате файла 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: Справочник на функциите
Всяка функция за експортиране, използвана в този урок, е изброена по-долу:
| Библиотека | Цел | функция |
|---|---|---|
| база | Експортиране на csv | write.csv() |
| XLSX | Експортиране на Excel | write.xlsx() |
| убежище | Експортиране на spss | write_sav() |
| убежище | Експортиране на sas | write_sas() |
| убежище | Експортиране на състояние | write_dta() |
| база | Експортиране на R обекти | запазване() / запазванеRDS() |
| Google Диск | Качи Google Drive | drive_upload() |
| Google Диск | Отворете Google Drive | drive_browse() |
| Google Диск | Извличане на идентификатор на файл | drive_get(as_id()) |
| Google Диск | Изтегли от Google Drive | drive_download() |
| Google Диск | Премахване на файл от Google Drive | drive_rm() |
| rdrop2 | заверка | drop_auth() |
| rdrop2 | Създайте папка | drop_create() |
| rdrop2 | Качване в Dropbox | drop_upload() |
| rdrop2 | Прочетете csv от Dropbox | drop_read_csv() |
| rdrop2 | Изтриване на файл от Dropbox | drop_delete() |













