Hogyan exportáljunk adatokat R-ből CSV-be és Excelbe
⚡ Okos összefoglaló
Az R-ből exportált adatok lefedik egy adatkeret CSV, Excel, SPSS, SAS, STATA és natív R formátumokba írását, majd ugyanazon fájlnak a következőre való küldését: Google Drive or DropboxMinden exportálás egy mintát követ: egy függvényt, egy adatkeretet és egy célútvonalat.

Hogyan exportálhatunk adatokat az R-ből
Ebben az oktatóanyagban megtanuljuk, hogyan exportálhatunk adatokat R környezetből különböző formátumokba.
Az adatok merevlemezre történő exportálásához szükség van a fájl elérési útjára és egy kiterjesztésre. Először is, az elérési út az a hely, ahol az adatokat tárolni fogják. Ebben az oktatóanyagban látni fogja, hogyan tárolhat adatokat:
- A merevlemez
- Google Drive
- Dropbox
Másodszor, az R számos formátumban képes kiírni az adatokat. Ez az oktatóanyag a legfontosabb fájlkiterjesztéseket ismerteti:
- csv
- xlsx
- RDS
- SAS
- SPSS
- STATA
Minden exportálás ugyanazt az alakot követi: egy függvényhívás, egy adatkeret és egy célútvonal.
Exportálás merevlemezre
Kezdetben az adatokat közvetlenül a munkakönyvtárba mentheti. A következő kód kiírja a munkakönyvtár elérési útját:
directory <- getwd() directory
output:
## [1] "/Users/15_Export_to_do"
Hacsak nem ad meg teljes elérési utat, minden fájl ebbe a munkakönyvtárba kerül. Az alapértelmezett érték rendszerenként eltérő, jellemzően a felhasználó saját mappája a macOS és a Linux és a Dokumentumok mappa a Windows, de a getwd() mindig az aktuális értéket mutatja. Módosíthatod a setwd() függvénnyel, vagy egyszerűen átadhatsz egy teljes elérési utat a write függvénynek.
setwd("/Users/USERNAME/Downloads")
Adatkeret létrehozása
Először is, készíts egy kis adatkeretet: az MTCARS adatkészletből a fogyasztás (mpg) és a fogyasztás (disp) átlagát, fokozatonként csoportosítva.
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
A táblázat három sort és három oszlopot tartalmaz. Létrehozhat egy CSV-fájlt a write.csv függvénnyel az R-ben.
DataFrame exportálása CSV-fájlba az R-ben
A write.csv alapvető szintaxisa R-ben a DataFrame exportálásához CSV-fájlba R-ben:
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
Példa:
write.csv(df, "table_car.csv")
Code Magyarázat
- write.csv(df, "table_car.csv"): Hozzon létre egy CSV-fájlt a merevlemezen:
- df: a környezetben lévő adatkeret neve
- „table_car.csv”: Nevezze el a fájlt table_car, és tárolja csv-ként
MegjegyzésekA write.csv2() függvény ugyanazt a fájlt írja ki pontosvesszővel elválasztóként és vesszővel tizedesjelként, ami a kontinentális Európa nagy részén szokásos.
write.csv2(df, "table_car.csv")
MegjegyzésekKizárólag pedagógiai célból létrehoztunk egy open_folder() nevű függvényt, amely megnyitja a könyvtár mappáját. Csak le kell futtatnod az alábbi kódot, és meg kell nézned, hol található a csv fájl. Látnod kell egy table_car.csv nevű fájlt.
# 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 exportálása Excel fájlba R-ben
Az Excelbe exportálás egyszerű a következőn: Windows és egy kicsit trükkösebb macOSMindkettő az xlsx könyvtárat használja, és a különbség csak a telepítésben van, mivel az xlsx a következőtől függ: Java. Java jelen kell lennie a gépen, mielőtt a csomag betöltődik.
Windows Felhasználók
On Windows, telepítse a könyvtárat közvetlenül a conda paranccsal:
conda install -c r r-xlsx
A könyvtár telepítése után a write.xlsx() létrehoz egy új Excel-munkafüzetet a munkakönyvtárban:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Ha Ön Mac OS-felhasználó, kövesse az alábbi lépéseket:
- 1. lépés: Telepítse a legújabb verzióját Java
- 2. lépés: Telepítse az r könyvtáratJava
- 3. lépés: Telepítse az xlsx könyvtárat
Step 1) Letölthetnéd Java hivatalostól Oracle webhelyet, és telepítse.
Visszatérhet az Rstudióhoz, és megnézheti, melyik verziója Java telepítve van.
system("java -version")
Bármely friss Java kiadás működik. Ha a parancs nem jelez semmit, Java nincs telepítve, és az xlsx csomag nem fog betöltődni.
Step 2) Telepítenie kell az rjava-t az R-be. Javasoltuk, hogy telepítse az R és az Rstudio alkalmazást az Anacondával. Az Anaconda kezeli a könyvtárak közötti függőséget. Ebben az értelemben az Anaconda kezelni fogja az r bonyolultságátJava telepítés.
Először is frissítenie kell a conda-t, majd telepítenie kell a könyvtár. A következő két kódsort másolhatja és beillesztheti a terminálba.
conda update conda conda install -c r r-rjava
Ezután nyissa meg az rjavát az Rstudioban
library(rJava)
Step 3) Végül itt az ideje telepíteni az xlsx-et. Még egyszer használhatod megye csinálni:
conda install -c r r-xlsx
Csakúgy, mint a Windows felhasználók, az write.xlsx() függvénnyel mentheti az adatokat.
library(xlsx)
output:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Adatok exportálása R-ből különböző szoftverekre
Az adatok exportálása különböző szoftverekbe ugyanolyan egyszerű, mint importálásuk. A könyvtár „menedéke” kényelmes módot biztosít az adatok exportálására
- SPSS
- sas
- volt
Először is importálja a könyvtárat. Ha nincs „menedéked”, elmehetsz itt telepítéséhez.
library(haven)
SPSS fájl
Az alábbiakban található az adatok SPSS szoftverbe történő exportálásához szükséges kód:
write_sav(df, "table_car.sav")
SAS-fájl
Ugyanolyan egyszerű, mint az spss, exportálhatod sas-ba
write_sas(df, "table_car.sas7bdat")
STATA-fájl
Végül a haven könyvtár lehetővé teszi a .dta fájl írását.
write_dta(df, "table_car.dta")
Hogyan exportálhatunk adatokat R natív formátumokba
Ha az objektumot az R-ben szeretnéd tartani, ahelyett, hogy egy másik programnak adnád át, használd a két natív formátum egyikét. A save() függvény egy vagy több elnevezett objektumot ír egy .RData fájlba:
save(df, file ='table_car.RData')
Az alternatíva a saveRDS(), amely pontosan egy objektumot tárol, és lehetővé teszi az olvasó számára, hogy a visszaúton kiválassza a nevét:
# 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")
| Kritériumai | saveRDS() / readRDS() | mentés() / betöltés() |
|---|---|---|
| Objektumok fájlonként | Pontosan egy | Egy vagy sok |
| Objektum neve újratöltéskor | Te választod | Mentettként visszaállítva |
| Felülírja a környezetet | Nem | Igen, csendben |
| Szokásos kiterjesztés | .rds fájlok | .RData |
Szkriptekben előnyben részesítsd a saveRDS() függvényt, mivel a load() képes csendben felülírni egy azonos nevű meglévő objektumot. Mindkét formátum érintetlenül tartja a faktorszinteket, a sorrendet és az attribútumokat, amire a CSV nem képes.
A fent létrehozott fájlokat a jelenlegi munkakönyvtárban ellenőrizheti
Lépjen kapcsolatba a felhőszolgáltatásokkal
Végül, de nem utolsó sorban, R fantasztikus könyvtárakkal van felszerelve a számítási felhő szolgáltatásokkal való interakcióhoz. Az oktatóanyag utolsó része a fájlok exportálásával/importálásával foglalkozik:
- Google Drive
- Dropbox
Megjegyzések: Az oktatóanyag ezen része feltételezi, hogy van fiókod a következővel: Google és a Dropbox. Ha nem, gyorsan létrehozhat egyet: Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
Telepítenie kell a googledrive könyvtárat, hogy elérje az interakciót lehetővé tevő funkciót Google Drive.
A könyvtár még nem érhető el az Anacondánál. Az alábbi kóddal telepítheti a konzolban.
install.packages("googledrive")
és kinyitod a könyvtárat.
library(googledrive)
Nem Conda felhasználók számára a kódtárak telepítése egyszerű. Az install.packages('CSOMAG NEVE') paranccsal, idézőjelek között a csomag nevével telepítve, zárójelben. Az R a .libPaths() által visszaadott első helyre telepíti.
Feltöltés a Google Drive
Fájl feltöltése ide: Google meghajtóhoz a drive_upload() függvényt kell használnod.
Minden alkalommal, amikor újraindítja az Rstudio-t, a rendszer kérni fogja, hogy engedélyezze a hozzáférést a tidyverse-hez Google Drive.
A drive_upload() alapvető szintaxisa a következő
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.
A kód elindítása után meg kell erősítenie néhány kérdést
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
A hozzáférés megerősítéséhez írja be az 1-et a konzolba
Ezután átirányítjuk a következőre: Google API-t a hozzáférés engedélyezéséhez. Kattintson az Engedélyezés gombra.
A hitelesítés befejezése után kiléphet a böngészőből.
Az Rstudio konzolján láthatja a lépés összefoglalását. Google sikeresen feltöltötte a meghajtón helyileg található fájlt. Google minden egyes fájlhoz azonosítót rendelt a meghajtón.
Ebben a fájlban láthatod Google Spreadsheet.
drive_browse("table_car")
output:
Önt átirányítják erre Google Spreadsheet
Importál ... ból Google Drive
A fájlazonosító szerinti letöltés a megbízható módszer. Ha ismeri a fájlnevet, először olvassa be az azonosítóját:
Megjegyzések: Az internetkapcsolattól és a meghajtó méretétől függően ez időt vesz igénybe.
x <-drive_get("table_car")
as_id(x)
Az azonosítót az x változóban tároltad. A drive_download() függvény lehetővé teszi a fájl letöltését innen Google Drive.
Az alap szintaxis a következő:
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.
Végül letöltheti a fájlt:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Magyarázat
- drive_download(): A fájl letöltésére szolgáló funkció Google Drive
- as_id(x): Az azonosító használatával tallózhat a fájlban Google Drive
- overwrite = TRUE: Ha a fájl létezik, írja felül, különben a végrehajtás leáll A fájl nevének helyi megjelenítéséhez a következőket használhatja:
output:
A fájl a munkakönyvtáradban tárolódik. Ne felejtsd el hozzáadni a fájlkiterjesztést, mielőtt megnyitod R-ben. A teljes nevet a paste() függvénnyel hozhatod létre (pl. 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
Végül eltávolíthatja a fájlt a Google vezetni.
## remove file
drive_find("table_car") %>%drive_rm()
output:
A törlést aszinkron módon dolgozza fel a Google, így a fájl eltűnése eltarthat egy ideig.
Exportálás Dropbox
R interakcióba lép Dropbox az rdrop2 könyvtáron keresztül. A könyvtár az Anacondánál sem érhető el. A konzolon keresztül telepítheti
install.packages('rdrop2')
library(rdrop2)
Ideiglenes hozzáférést biztosítasz a következőhöz: Dropbox a hitelesítő adataiddal. A hitelesítés után az R fájlokat hozhat létre, távolíthat el, tölthet fel és tölthet le a Dropbox.
Először is hozzáférést kell adnia fiókjához. A hitelesítő adatok az összes munkamenet során gyorsítótárban vannak.
drop_auth()
Önt átirányítják erre Dropbox a hitelesítés megerősítéséhez.
Megerősítő oldalt fog kapni. Bezárhatja, és visszatérhet az R-hez
Mappát a drop_create() függvénnyel hozhatunk létre.
- drop_create('my_first_drop'): Hozzon létre egy mappát az első ágban Dropbox
- drop_create('First_branch/my_first_drop'): Hozzon létre egy mappát a meglévő First_branch mappában.
drop_create('my_first_drop')
output:
In DropBox
A .csv fájl feltöltéséhez Dropbox, használja a drop_upload() függvényt.
Alapszintaxis:
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:
A DropnálBox
A csv fájlt innen olvashatod Dropbox a drop_read_csv() függvénnyel
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
Ha befejezte a fájl használatát, és törölni szeretné. Meg kell írni a fájl elérési útját a drop_delete() függvényben
drop_delete('my_first_drop/table_car.csv')
output:
Lehetőség van mappa törlésére is
drop_delete('my_first_drop')
output:
Adatok exportálása R-ből: Függvényreferencia
Az oktatóanyagban használt összes exportfüggvényt az alábbiakban soroljuk fel:
| könyvtár | Objektív | Funkció |
|---|---|---|
| bázis | Csv exportálása | írás.csv() |
| xlsx | Excel excel | írás.xlsx() |
| kikötő | Export spss | write_sav() |
| kikötő | Export sas | write_sas() |
| kikötő | Exportállapot | write_dta() |
| bázis | R objektumok exportálása | mentés() / RDS mentése() |
| Google Drive | Feltöltés Google Drive | drive_upload() |
| Google Drive | Nyisd meg Google Drive | drive_browse() |
| Google Drive | Fájlazonosító lekérése | drive_get(as_id()) |
| Google Drive | Letöltés Google Drive | meghajtó_letöltés() |
| Google Drive | Fájl eltávolítása innen Google Drive | drive_rm() |
| rdrop2 | Hitelesítés | drop_auth() |
| rdrop2 | Hozzon létre egy mappát | drop_create() |
| rdrop2 | Feltöltés a Dropbox | drop_upload() |
| rdrop2 | Csv olvasása innen Dropbox | drop_read_csv() |
| rdrop2 | Fájl törlése innen Dropbox | drop_delete() |













