Sådan eksporterer du data fra R til CSV og Excel
⚡ Smart opsummering
Eksport af data fra R dækker skrivning af en dataramme til CSV, Excel, SPSS, SAS, STATA og native R-formater og derefter overførsel af den samme fil til Google Drive or DropboxEnhver eksport følger ét mønster: en funktion, en dataramme og en destinationssti.

Sådan eksporteres data fra R
I denne tutorial lærer vi, hvordan du eksporterer data fra R-miljøet til forskellige formater.
For at eksportere data til harddisken skal du bruge filstien og en udvidelse. Først og fremmest er stien det sted, hvor dataene vil blive gemt. I denne vejledning vil du se, hvordan du gemmer data på:
- Harddisken
- Google Drive
- Dropbox
For det andet kan R skrive dataene ud i mange formater. Denne vejledning dækker de vigtigste filtypenavne:
- csv
- xlsx
- RDS
- SAS
- SPSS
- STATA
Hver eksport følger den samme form: ét funktionskald, en dataramme og en destinationssti.
Eksporter til harddisk
Til at begynde med kan du gemme dataene direkte i arbejdsbiblioteket. Følgende kode udskriver stien til din arbejdsmappe:
directory <- getwd() directory
Output:
## [1] "/Users/15_Export_to_do"
Medmindre du angiver en fuld sti, skrives alle filer til den pågældende arbejdsmappe. Standardværdien varierer afhængigt af systemet, typisk brugerens hjemmemappe på macOS og Linux og mappen Dokumenter på Windows, men getwd() fortæller dig altid den aktuelle værdi. Skift den med setwd(), eller send blot en fuld sti til skrivefunktionen.
setwd("/Users/USERNAME/Downloads")
Opret dataramme
Først skal du opbygge en lille dataramme: middelværdien af mpg og disp grupperet efter gear fra mtcars-datasættet.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Output:
## # 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
Tabellen indeholder tre rækker og tre kolonner. Du kan oprette en CSV-fil med funktionen write.csv i R.
Sådan eksporteres en dataramme til en CSV-fil i R
Den grundlæggende syntaks for write.csv i R for at eksportere DataFrame til CSV i 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
Eksempel:
write.csv(df, "table_car.csv")
Code Forklaring
- write.csv(df, “table_car.csv”): Opret en CSV-fil på harddisken:
- df: navn på datarammen i miljøet
- "table_car.csv": Navngiv filen table_car og gem den som csv
Bemærkwrite.csv2() skriver den samme fil ved hjælp af et semikolon som feltseparator og et komma som decimaltegn, hvilket er konventionen i store dele af det kontinentale Europa.
write.csv2(df, "table_car.csv")
BemærkKun af pædagogiske årsager har vi oprettet en funktion kaldet open_folder() for at åbne mappekataloget for dig. Du skal blot køre koden nedenfor og se, hvor csv-filen er gemt. Du burde se en fil med navnet 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)
Sådan eksporteres en DataFrame til en Excel-fil i R
Det er ligetil at eksportere til Excel Windows og lidt mere vanskeligt på macOSBegge bruger xlsx-biblioteket, og forskellen ligger kun i installationen, fordi xlsx afhænger af Java. Java skal være til stede på maskinen, før pakken kan indlæses.
Windows brugere
On Windows, installer biblioteket direkte med conda:
conda install -c r r-xlsx
Når biblioteket er installeret, opretter write.xlsx() en ny Excel-projektmappe i arbejdsmappen:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Hvis du er en Mac OS-bruger, skal du følge disse trin:
- Trin 1: Installer den nyeste version af Java
- Trin 2: Installer bibliotek rJava
- Trin 3: Installer biblioteket xlsx
Trin 1) Du kunne downloade Java fra officielle Oracle websted og installer det.
Du kan gå tilbage til Rstudio og tjekke hvilken version af Java er installeret.
system("java -version")
Alle nyere Java udgivelsen virker. Hvis kommandoen ikke rapporterer noget, Java er ikke installeret, og xlsx-pakken vil ikke kunne indlæses.
Trin 2) Du skal installere rjava i R. Vi anbefalede dig at installere R og Rstudio med Anaconda. Anaconda styrer afhængighederne mellem biblioteker. I denne forstand vil Anaconda håndtere forviklingerne ved rJava installation.
Først og fremmest skal du opdatere conda og derefter installere bibliotek. Du kan kopiere og indsætte de næste to linjer kode i terminalen.
conda update conda conda install -c r r-rjava
Åbn derefter rjava i Rstudio
library(rJava)
Trin 3) Endelig er det tid til at installere xlsx. Endnu en gang kan du bruge Conda at gøre det:
conda install -c r r-xlsx
Ligesom Windows-brugere kan du gemme data med funktionen write.xlsx()
library(xlsx)
Output:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Eksport af data fra R til forskellig software
Eksport af data til forskellig software er lige så simpelt som at importere dem. Biblioteket "haven" giver en bekvem måde at eksportere data til
- SPSS
- sas
- Stata
Først og fremmest skal du importere biblioteket. Hvis du ikke har "havn", kan du gå link. at installere det.
library(haven)
SPSS fil
Nedenfor er koden til at eksportere data til SPSS-software:
write_sav(df, "table_car.sav")
SAS-fil
Lige så simpelt som spss, du kan eksportere til sas
write_sas(df, "table_car.sas7bdat")
STATA-fil
Endelig tillader haven bibliotek at skrive .dta-fil.
write_dta(df, "table_car.dta")
Sådan eksporterer du data til native R-formater
Hvis du vil beholde objektet i R i stedet for at overføre det til et andet program, skal du bruge et af de to native formater. save() skriver et eller flere navngivne objekter ind i en .RData-fil:
save(df, file ='table_car.RData')
Alternativet er saveRDS(), som gemmer præcis ét objekt og lader læseren vælge dets navn på vej tilbage:
# 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")
| Kriterier | gemRDS() / læsRDS() | gem() / indlæs() |
|---|---|---|
| Objekter pr. fil | Præcis én | En eller mange |
| Objektnavn ved genindlæsning | Du vælger det | Gendannet som gemt |
| Overskriver miljøet | Ingen | Ja, lydløst |
| Sædvanlig forlængelse | .rds | .RData |
Foretræk saveRDS() i scripts, fordi load() lydløst kan overskrive et eksisterende objekt med samme navn. Begge formater bevarer faktorniveauer, rækkefølge og attributter intakte, hvilket CSV ikke kan.
Du kan kontrollere filerne oprettet ovenfor i den nuværende arbejdsmappe
Interagere med Cloud Services
Sidst men ikke mindst, R er udstyret med fantastiske biblioteker til at interagere med cloud computing-tjenesterne. Den sidste del af denne tutorial omhandler eksport/import af filer fra:
- Google Drive
- Dropbox
BemærkDenne del af vejledningen forudsætter, at du har en konto hos Google og Dropbox. Hvis ikke, kan du hurtigt oprette en til – Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
Du skal installere biblioteket googledrive for at få adgang til den funktion, der tillader at interagere med Google Drive.
Biblioteket er endnu ikke tilgængeligt hos Anaconda. Du kan installere det med koden nedenfor i konsollen.
install.packages("googledrive")
og du åbner biblioteket.
library(googledrive)
For ikke-conda-brugere er det nemt at installere et bibliotek. Du kan bruge install.packages('NAME OF PACKAGE') med pakkenavnet i anførselstegn i parentesen. R installerer det på den første placering, der returneres af .libPaths().
Upload til Google Drive
At uploade en fil til Google drev, skal du bruge funktionen drive_upload().
Hver gang du genstarter Rstudio, vil du blive bedt om at tillade adgang tidyverse til Google Drive.
Den grundlæggende syntaks for drive_upload() er
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.
Når du har startet koden, skal du bekræfte flere spørgsmål
drive_upload("table_car.csv", name = "table_car")
Output:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
Du skriver 1 i konsollen for at bekræfte adgangen
Derefter bliver du omdirigeret til Google API for at tillade adgangen. Klik på Tillad.
Når godkendelsen er fuldført, kan du afslutte din browser.
I Rstudios konsol kan du se et resumé af det udførte trin. Google Filen, der er placeret lokalt på drevet, er blevet uploadet. Google tildelt et ID til hver fil på drevet.
Du kan se denne fil i Google Spreadsheet.
drive_browse("table_car")
Output:
Du bliver omdirigeret til Google Spreadsheet
Importer fra Google Drive
Download via fil-ID er den mest pålidelige metode. Hvis du kender filnavnet, skal du først finde dens ID:
Bemærk: Afhængigt af din internetforbindelse og størrelsen på dit Drev, tager det tid.
x <-drive_get("table_car")
as_id(x)
Du har gemt ID'et i variablen x. Funktionen drive_download() gør det muligt at downloade en fil fra Google Drive.
Den grundlæggende syntaks er:
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.
Du kan endelig downloade filen:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Forklaring
- drive_download(): Funktion til at downloade en fil fra Google Drive
- as_id(x): Brug ID'et til at gennemse filen Google Drive
- overskriv = TRUE: Hvis filen eksisterer, overskriv den, ellers standses udførelse For at se navnet på filen lokalt, kan du bruge:
Output:
Filen er gemt i din arbejdsmappe. Husk at tilføje filtypen, før du åbner den i R. Du kan oprette det fulde navn med funktionen paste() (f.eks. 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
Output:
## 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
Endelig kan du fjerne filen fra din Google køre.
## remove file
drive_find("table_car") %>%drive_rm()
Output:
Sletning behandles asynkront af Google, så det kan tage et øjeblik, før filen forsvinder.
Eksporter til Dropbox
R interagerer med Dropbox via rdrop2-biblioteket. Biblioteket er heller ikke tilgængeligt på Anaconda. Du kan installere det via konsollen
install.packages('rdrop2')
library(rdrop2)
Du giver midlertidig adgang til Dropbox med dine legitimationsoplysninger. Når R er godkendt, kan det oprette, fjerne, uploade og downloade filer i din Dropbox.
Først og fremmest skal du give adgang til din konto. Legitimationsoplysningerne gemmes i cache under hele sessionen.
drop_auth()
Du bliver omdirigeret til Dropbox for at bekræfte godkendelsen.
Du får en bekræftelsesside. Du kan lukke den og vende tilbage til R
Du kan oprette en mappe med funktionen drop_create().
- drop_create('my_first_drop'): Opret en mappe i den første gren af Dropbox
- drop_create('First_branch/my_first_drop'): Opret en mappe i den eksisterende First_branch-mappe.
drop_create('my_first_drop')
Output:
I DropBox
For at uploade .csv-filen til din Dropbox, brug funktionen drop_upload().
Grundlæggende syntaks:
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")
Output:
Hos DropBox
Du kan læse csv-filen fra Dropbox med funktionen drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
Output:
## 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
Når du er færdig med at bruge filen og vil slette den. Du skal skrive stien til filen i funktionen drop_delete()
drop_delete('my_first_drop/table_car.csv')
Output:
Det er også muligt at slette en mappe
drop_delete('my_first_drop')
Output:
Eksport af data fra R: Funktionsreference
Alle eksportfunktioner, der bruges i denne vejledning, er anført nedenfor:
| Bibliotek | Objektiv | Funktion |
|---|---|---|
| bund | Eksporter csv | skriv.csv() |
| xlsx | Eksporter excel | skriv.xlsx() |
| tilflugtssted | Eksporter spss | write_sav() |
| tilflugtssted | Eksport sas | skrive_sas() |
| tilflugtssted | Eksporter stat | skrive_dta() |
| bund | Eksportér R-objekter | gem() / gemRDS() |
| Google Drev | Upload Google Drive | drive_upload() |
| Google Drev | Åbn i Google Drive | drive_browse() |
| Google Drev | Hent fil-id | drive_get(som_id()) |
| Google Drev | Hent fra Google Drive | drev_download() |
| Google Drev | Fjern fil fra Google Drive | drive_rm() |
| rdrop2 | Godkendelse | drop_auth() |
| rdrop2 | Opret en mappe | drop_create() |
| rdrop2 | Upload til Dropbox | drop_upload() |
| rdrop2 | Læs csv fra Dropbox | drop_read_csv() |
| rdrop2 | Slet fil fra Dropbox | drop_delete() |













