Kuinka viedä tietoja R:stä CSV- ja Excel-tiedostoihin
⚡ Älykäs yhteenveto
Tiedon vienti R:stä kattaa datakehyksen kirjoittamisen CSV-, Excel-, SPSS-, SAS-, STATA- ja natiiveihin R-muotoihin ja saman tiedoston lähettämisen sitten Google Drive or DropboxJokainen vienti noudattaa yhtä kaavaa: funktio, datakehys ja kohdepolku.

Kuinka viedä tietoja R:stä
Tässä opetusohjelmassa opimme viemään tietoja R-ympäristöstä eri muotoihin.
Jotta voit viedä tietoja kiintolevylle, tarvitset tiedostopolun ja tunnisteen. Ensinnäkin polku on paikka, johon tiedot tallennetaan. Tässä opetusohjelmassa näet kuinka tallennat tietoja:
- Kiintolevy
- Google Drive
- Dropbox
Toiseksi, R voi kirjoittaa tiedot monissa eri muodoissa. Tämä tutoriaali käsittelee tärkeimmät tiedostopäätteet:
- csv
- XLSX
- RDS
- SAS
- SPSS
- TILAT
Jokainen vienti noudattaa samaa muotoa: yksi funktiokutsu, datakehys ja kohdepolku.
Vie kovalevylle
Aluksi voit tallentaa tiedot suoraan työhakemistoon. Seuraava koodi tulostaa työhakemistosi polun:
directory <- getwd() directory
lähtö:
## [1] "/Users/15_Export_to_do"
Ellet anna koko polkua, jokainen tiedosto kirjoitetaan kyseiseen työhakemistoon. Oletusarvo vaihtelee järjestelmän mukaan, tyypillisesti se on käyttäjän kotikansio macOS ja Linux ja Documents-kansio Windows, mutta getwd() kertoo aina nykyisen arvon. Voit muuttaa sitä setwd():llä tai antaa yksinkertaisesti koko polun kirjoitusfunktiolle.
setwd("/Users/USERNAME/Downloads")
Luo datakehys
Luo ensin pieni datakehys: MTCARS-datajoukosta vaihteittain ryhmitelty mpg:n ja disp:n keskiarvo.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
lähtö:
## # 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
Taulukko sisältää kolme riviä ja kolme saraketta. Voit luoda CSV-tiedoston funktiolla write.csv R:ssä.
DataFramen vieminen CSV-tiedostoon R
Write.csv:n perussyntaksi R:ssä DataFramen viemiseksi CSV:hen R:ssä:
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
Esimerkiksi:
write.csv(df, "table_car.csv")
Code Selitys
- write.csv(df, "table_car.csv"): Luo CSV-tiedosto kiintolevylle:
- df: tietokehyksen nimi ympäristössä
- "table_car.csv": Nimeä tiedosto table_car ja tallenna se csv-muodossa
Huomautuksia: write.csv2() kirjoittaa saman tiedoston käyttäen puolipistettä kenttäerottimena ja pilkkua desimaalierottimena, mikä on käytäntö suuressa osassa Manner-Eurooppaa.
write.csv2(df, "table_car.csv")
HuomautuksiaPedagogisiin tarkoituksiin loimme funktion nimeltä open_folder() avaamaan hakemistokansion puolestasi. Sinun tarvitsee vain suorittaa alla oleva koodi ja tarkistaa, mihin csv-tiedosto on tallennettu. Sinun pitäisi nähdä tiedosto nimeltä 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)
DataFramen vieminen Excel-tiedostoon R:ssä
Vienti Exceliin on helppoa Windows ja hieman hankalampi macOSMolemmat käyttävät xlsx-kirjastoa, ja ero on vain asennuksessa, koska xlsx on riippuvainen Java. Java on oltava koneella ennen paketin lastaamista.
Windows Käyttäjät
On Windows, asenna kirjasto suoraan condalla:
conda install -c r r-xlsx
Kun kirjasto on asennettu, write.xlsx() luo uuden Excel-työkirjan työhakemistoon:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Jos olet Mac OS -käyttäjä, sinun on noudatettava näitä ohjeita:
- Vaihe 1: Asenna uusin versio Java
- Vaihe 2: Asenna kirjasto rJava
- Vaihe 3: Asenna kirjasto xlsx
Vaihe 1) Voisit ladata Java viralliselta Oracle sivusto ja asenna se.
Voit palata Rstudioon ja tarkistaa, mikä versio Java on asennettu.
system("java -version")
Mikä tahansa viimeaikainen Java julkaisu toimii. Jos komento ei ilmoita mitään, Java ei ole asennettu ja xlsx-paketin lataaminen epäonnistuu.
Vaihe 2) Sinun on asennettava rjava R:hen. Suosittelemme, että asennat R:n ja Rstudion Anacondan kanssa. Anaconda hallitsee kirjastojen välisiä riippuvuuksia. Tässä mielessä Anaconda käsittelee r:n hienoudetJava asennus.
Ensinnäkin sinun on päivitettävä conda ja asennettava sitten kirjasto. Voit kopioida ja liittää kaksi seuraavaa koodiriviä terminaaliin.
conda update conda conda install -c r r-rjava
Avaa seuraavaksi rjava Rstudiossa
library(rJava)
Vaihe 3) Lopuksi on aika asentaa xlsx. Jälleen kerran voit käyttää Conda tehdä se:
conda install -c r r-xlsx
Aivan kuten Windows-käyttäjät, voit tallentaa tietoja funktiolla write.xlsx()
library(xlsx)
lähtö:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Tietojen vienti R:stä eri ohjelmistoihin
Tietojen vieminen eri ohjelmistoihin on yhtä helppoa kuin niiden tuonti. Kirjaston "satama" tarjoaa kätevän tavan viedä tietoja
- SPSS
- sas
- ollut
Ensinnäkin tuo kirjasto. Jos sinulla ei ole "satamaa", voit mennä täältä asentaa se.
library(haven)
SPSS-tiedosto
Alla on koodi tietojen viemiseksi SPSS-ohjelmistoon:
write_sav(df, "table_car.sav")
SAS-tiedosto
Yhtä yksinkertaista kuin spss, voit viedä sasiin
write_sas(df, "table_car.sas7bdat")
STATA-tiedosto
Lopuksi turvasatamakirjasto mahdollistaa .dta-tiedoston kirjoittamisen.
write_dta(df, "table_car.dta")
Tietojen vieminen R:n natiivimuotoihin
Jos haluat pitää objektin R:n sisällä sen sijaan, että luovuttaisit sen toiselle ohjelmalle, käytä jompaakumpaa kahdesta natiivista tiedostomuodosta. save() kirjoittaa yhden tai useamman nimetyn objektin .RData-tiedostoon:
save(df, file ='table_car.RData')
Vaihtoehto on saveRDS(), joka tallentaa täsmälleen yhden objektin ja antaa lukijan valita sen nimen paluumatkalla:
# 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")
| Kriteeri | tallennaRDS() / lueRDS() | tallenna() / lataa() |
|---|---|---|
| Objekteja tiedostoa kohden | Tasan yksi | Yksi tai useampi |
| Objektin nimi latauksen yhteydessä | Sinä valitset sen | Palautettu tallennetuksi |
| Ylikirjoittaa ympäristön | Ei | Kyllä, hiljaa |
| Tavallinen laajennus | .rds-tiedosto | .RData |
Suosi saveRDS()-funktiota skripteissä, koska load() voi hiljaisesti korvata samannimisen olemassa olevan objektin. Molemmat muodot säilyttävät tekijätasot, järjestyksen ja attribuutit ennallaan, mitä CSV ei voi tehdä.
Voit tarkistaa yllä luodut tiedostot nykyisestä työhakemistosta
Ole vuorovaikutuksessa pilvipalvelujen kanssa
Viimeisenä mutta ei vähäisimpänä, R on varustettu upeilla kirjastoilla vuorovaikutuksessa pilvipalveluiden kanssa. Tämän opetusohjelman viimeinen osa käsittelee tiedostojen vientiä/tuontia:
- Google Drive
- Dropbox
HuomautuksiaTässä opetusohjelman osassa oletetaan, että sinulla on tili Google ja Dropbox. Jos ei, voit luoda sellaisen nopeasti - Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
Sinun on asennettava kirjasto googledrive, jotta voit käyttää toimintoa, joka mahdollistaa vuorovaikutuksen Google Drive.
Kirjasto ei ole vielä saatavilla Anacondassa. Voit asentaa sen konsoliin alla olevalla koodilla.
install.packages("googledrive")
ja avaat kirjaston.
library(googledrive)
Muille kuin Conda-käyttäjille kirjaston asentaminen on helppoa. Voit käyttää install.packages('PAKETIN NIMI') -funktiota ja kirjoittaa paketin nimen lainausmerkkeihin sulkeiden sisään. R asentaa sen .libPaths()-funktion palauttamaan ensimmäiseen sijaintiin.
Lataa Google Drive
Tiedoston lataaminen kohteeseen Google asemaan, sinun on käytettävä funktiota drive_upload().
Joka kerta kun käynnistät Rstudion uudelleen, sinua pyydetään sallimaan pääsy tidyverselle Google Drive.
Aseman drive_upload() perussyntaksi on
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.
Kun olet käynnistänyt koodin, sinun on vahvistettava useita kysymyksiä
drive_upload("table_car.csv", name = "table_car")
lähtö:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
Vahvista pääsy kirjoittamalla 1 konsoliin
Sitten sinut ohjataan osoitteeseen Google API salliaksesi pääsyn. Napsauta Salli.
Kun todennus on valmis, voit sulkea selaimen.
Rstudion konsolissa näet suoritetun vaiheen yhteenvedon. Google Tiedosto ladattiin onnistuneesti paikallisesti asemaan. Google on antanut tunnuksen jokaiselle asemassa olevalle tiedostolle.
Voit nähdä tämän tiedoston Google Spreadsheet.
drive_browse("table_car")
lähtö:
Sinut ohjataan uudelleen Google Spreadsheet
Tuo osoitteesta Google Drive
Tiedoston ID:n perusteella lataaminen on luotettava tapa. Jos tiedät tiedostonimen, hae ensin sen ID:
Huomautuksia: Internet-yhteytesi ja Drivesi koosta riippuen se vie aikaa.
x <-drive_get("table_car")
as_id(x)
Tallensit tunnuksen muuttujaan x. Funktio drive_download() mahdollistaa tiedoston lataamisen kohteesta Google Drive.
Perussyntaksi on:
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.
Voit vihdoin ladata tiedoston:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Selitys
- drive_download(): Toiminto, josta tiedosto ladataan Google Drive
- as_id(x): Käytä tunnusta selataksesi tiedostoa Google Drive
- overwrite = TOSI: Jos tiedosto on olemassa, korvaa se, muuten suoritus keskeytyy Nähdäksesi tiedoston nimen paikallisesti, voit käyttää:
lähtö:
Tiedosto tallennetaan työhakemistoosi. Muista lisätä tiedostopääte ennen sen avaamista R:ssä. Voit luoda koko nimen paste()-funktiolla (esim. 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
lähtö:
## 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
Lopuksi voit poistaa tiedoston laitteestasi Google ajaa.
## remove file
drive_find("table_car") %>%drive_rm()
lähtö:
Poisto käsitellään asynkronisesti Google, joten tiedoston katoaminen voi kestää hetken.
Vie osoitteeseen Dropbox
R on vuorovaikutuksessa Dropbox rdrop2-kirjaston kautta. Kirjasto ei ole saatavilla myöskään Anacondassa. Voit asentaa sen konsolin kautta
install.packages('rdrop2')
library(rdrop2)
Myönnät tilapäisen käyttöoikeuden Dropbox tunnistetiedoillasi. Todennuksen jälkeen R voi luoda, poistaa, ladata ja ladata tiedostoja Dropbox.
Ensinnäkin sinun on annettava pääsy tilillesi. Tunnukset tallennetaan välimuistiin koko istunnon ajan.
drop_auth()
Sinut ohjataan uudelleen Dropbox todennuksen vahvistamiseksi.
Saat vahvistussivun. Voit sulkea sen ja palata R:hen
Voit luoda kansion funktiolla drop_create().
- drop_create('my_first_drop'): Luo kansio ensimmäiseen haaraan Dropbox
- drop_create('First_branch/my_first_drop'): Luo kansio olemassa olevan First_branch-kansion sisään.
drop_create('my_first_drop')
lähtö:
In DropBox
Voit ladata .csv-tiedoston Dropbox, käytä funktiota drop_upload().
Perussyntaksi:
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")
lähtö:
DropillaBox
Voit lukea csv-tiedoston osoitteesta Dropbox funktiolla drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
lähtö:
## 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
Kun olet lopettanut tiedoston käytön ja haluat poistaa sen. Sinun on kirjoitettava tiedoston polku funktioon drop_delete()
drop_delete('my_first_drop/table_car.csv')
lähtö:
On myös mahdollista poistaa kansio
drop_delete('my_first_drop')
lähtö:
Tietojen vienti R:stä: Funktioviite
Jokainen tässä opetusohjelmassa käytetty vientifunktio on lueteltu alla:
| Kirjasto | Tavoite | Toiminto |
|---|---|---|
| pohja | Vie csv | write.csv() |
| XLSX | Vie excel | kirjoittaa.xlsx() |
| satama | Vie spss | write_sav() |
| satama | Vie sas | write_sas() |
| satama | Vientitila | write_dta() |
| pohja | Vie R-objekteja | tallenna() / tallennaRDS() |
| Google asema | Lataa Google Drive | drive_upload() |
| Google asema | Avaa sisään Google Drive | drive_browse() |
| Google asema | Hae tiedostotunnus | drive_get(as_id()) |
| Google asema | Lataa Google Drive | drive_download() |
| Google asema | Poista tiedosto kohteesta Google Drive | drive_rm() |
| rdrop2 | Authentication | drop_auth() |
| rdrop2 | Luo kansio | drop_create() |
| rdrop2 | Lataa Dropbox | drop_upload() |
| rdrop2 | Lue csv osoitteesta Dropbox | drop_read_csv() |
| rdrop2 | Poista tiedosto kohteesta Dropbox | drop_delete() |













