Kako izvesti podatke iz R-a u CSV i Excel
โก Pametni saลพetak
Izvoz podataka iz R-a obuhvaฤa pisanje podatkovnog okvira u CSV, Excel, SPSS, SAS, STATA i izvorne R formate, a zatim slanje iste datoteke u Google Drive or DropboxSvaki izvoz slijedi jedan obrazac: funkciju, okvir podataka i odrediลกnu putanju.

Kako izvesti podatke iz R
U ovom vodiฤu nauฤit ฤemo kako izvesti podatke iz R okruลพenja u razliฤite formate.
Za izvoz podataka na tvrdi disk potreban vam je put datoteke i ekstenzija. Prije svega, put je mjesto gdje ฤe podaci biti pohranjeni. U ovom vodiฤu vidjet ฤete kako pohraniti podatke na:
- Tvrdi disk
- Google Drive
- Dropbox
Drugo, R moลพe zapisivati โโpodatke u mnogim formatima. Ovaj vodiฤ pokriva bitne ekstenzije datoteka:
- csv
- xlsx
- RDS
- SAS
- SPSS
- STATA
Svaki izvoz slijedi isti oblik: jedan poziv funkcije, okvir podataka i odrediลกni put.
Izvoz na tvrdi disk
Za poฤetak, podatke moลพete spremiti izravno u radni direktorij. Sljedeฤi kod ispisuje putanju vaลกeg radnog direktorija:
directory <- getwd() directory
Izlaz:
## [1] "/Users/15_Export_to_do"
Osim ako ne navedete punu putanju, svaka se datoteka zapisuje u taj radni direktorij. Zadana vrijednost razlikuje se ovisno o sustavu, obiฤno je to poฤetna mapa korisnika na macOS i Linux i mapa Dokumenti na Windows, ali getwd() uvijek govori trenutnu vrijednost. Promijenite je pomoฤu setwd() ili jednostavno proslijedite punu putanju funkciji write.
setwd("/Users/USERNAME/Downloads")
Stvorite podatkovni okvir
Prvo, izgradite mali okvir podataka: srednju vrijednost potroลกnje goriva i potroลกnje grupirane po stupnju prijenosa iz skupa podataka mtcars.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Izlaz:
## # 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
Tablica se sastoji od tri retka i tri stupca. Moลพete stvoriti CSV datoteku s funkcijom write.csv u R.
Kako izvesti DataFrame u CSV datoteku u R
Osnovna sintaksa write.csv u R za izvoz DataFramea u CSV u 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
Primjer:
write.csv(df, "table_car.csv")
Code Objaลกnjenje
- write.csv(df, โtable_car.csvโ): Stvorite CSV datoteku na tvrdom disku:
- df: naziv podatkovnog okvira u okruลพenju
- โtable_car.csvโ: Imenujte datoteku table_car i pohranite je kao csv
biljeลกkewrite.csv2() zapisuje istu datoteku koristeฤi toฤku-zarez kao razdjelnik polja i zarez kao decimalni znak, ลกto je konvencija u veฤem dijelu kontinentalne Europe.
write.csv2(df, "table_car.csv")
biljeลกkeSamo u pedagoลกke svrhe, kreirali smo funkciju pod nazivom open_folder() za otvaranje mape direktorija. Samo trebate pokrenuti donji kod i vidjeti gdje je pohranjena csv datoteka. Trebali biste vidjeti datoteku pod nazivom 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)
Kako izvesti DataFrame u Excel datoteku u R-u
Izvoz u Excel je jednostavan Windows i malo zahtjevnije macOSOba koriste xlsx biblioteku, a razlika je samo u instalaciji, jer xlsx ovisi o Java. Java mora biti prisutan na stroju prije nego ลกto se paket uฤitava.
Windows Korisnici
On Windows, instalirajte biblioteku izravno pomoฤu conda-e:
conda install -c r r-xlsx
Nakon ลกto je biblioteka instalirana, write.xlsx() stvara novu Excel radnu knjigu u radnom direktoriju:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Ako ste korisnik Mac OS-a, trebate slijediti ove korake:
- Korak 1: Instalirajte najnoviju verziju Java
- Korak 2: Instalirajte biblioteku rJava
- Korak 3: Instalirajte biblioteku xlsx
Korak 1) Moลพete preuzeti Java od sluลพbenog Oracle stranice i instalirajte je.
Moลพete se vratiti na Rstudio i provjeriti koju verziju Java je instaliran.
system("java -version")
Bilo koji nedavni Java izdanje radi. Ako naredba ne prijavi niลกta, Java nije instaliran i xlsx paket se neฤe moฤi uฤitati.
Korak 2) Morate instalirati rjavu u R. Preporuฤamo vam da instalirate R i Rstudio s Anacondom. Anaconda upravlja ovisnostima izmeฤu knjiลพnica. U tom smislu, Anaconda ฤe se nositi sa zamrลกenoลกฤu rJava montaลพa.
Prije svega, morate aลพurirati conda i zatim instalirati knjiลพnica. Moลพete kopirati i zalijepiti sljedeฤa dva retka koda u terminal.
conda update conda conda install -c r r-rjava
Zatim otvorite rjavu u Rstudio
library(rJava)
Korak 3) Konaฤno, vrijeme je da instalirate xlsx. Joลก jednom, moลพete koristiti konda uฤiniti to:
conda install -c r r-xlsx
Baลก kao i korisnici Windowsa, moลพete spremiti podatke s funkcijom write.xlsx()
library(xlsx)
Izlaz:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Izvoz podataka iz R-a u drugi softver
Izvoz podataka u razliฤiti softver jednostavan je kao i njihov uvoz. Knjiลพnica "utoฤiลกte" pruลพa prikladan naฤin za izvoz podataka
- spss
- sas
- bio
Prije svega, uvezite biblioteku. Ako nemate โutoฤiลกteโ, moลพete iฤi ovdje da biste ga instalirali.
library(haven)
SPSS datoteka
Ispod je kod za izvoz podataka u SPSS softver:
write_sav(df, "table_car.sav")
SAS datoteka
Jednostavno kao spss, moลพete izvoziti u sas
write_sas(df, "table_car.sas7bdat")
STATA datoteka
Konaฤno, biblioteka utoฤiลกta omoguฤuje pisanje .dta datoteke.
write_dta(df, "table_car.dta")
Kako izvesti podatke u R izvorne formate
Ako ลพelite zadrลพati objekt unutar R-a umjesto da ga predate drugom programu, upotrijebite jedan od dva izvorna formata. save() zapisuje jedan ili viลกe imenovanih objekata u .RData datoteku:
save(df, file ='table_car.RData')
Alternativa je saveRDS(), koja pohranjuje toฤno jedan objekt i omoguฤuje ฤitatelju da odabere njegovo ime na povratku:
# 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")
| Kriteriji | spremanjeRDS() / ฤitanjeRDS() | spremi() / uฤitaj() |
|---|---|---|
| Objekti po datoteci | Toฤno jedan | Jedan ili mnogo |
| Naziv objekta prilikom ponovnog ponovljenog prikaza | Ti biraลก | Vraฤeno kao spremljeno |
| Prepisuje okruลพenje | Ne | Da, tiho |
| Uobiฤajeni nastavak | .rds | .RData |
U skriptama preferirajte saveRDS() jer load() moลพe tiho prepisati postojeฤi objekt istog imena. Oba formata ฤuvaju razine faktora, redoslijed i atribute netaknutima, ลกto CSV ne moลพe.
Gore stvorene datoteke moลพete provjeriti u trenutnom radnom direktoriju
Interakcija s uslugama u oblaku
Posljednje, ali ne i najmanje vaลพno, R opremljen je fantastiฤnim bibliotekama za interakciju s uslugama raฤunalstva u oblaku. Posljednji dio ovog vodiฤa bavi se izvozom/uvozom datoteka iz:
- Google Drive
- Dropbox
biljeลกkeOvaj dio tutorijala pretpostavlja da imate raฤun kod Google i Dropbox. Ako ne, moลพete ga brzo izraditi za โ Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
Morate instalirati knjiลพnicu googledrive za pristup funkciji koja omoguฤuje interakciju s Google Drive.
Knjiลพnica joลก nije dostupna u Anacondi. Moลพete ga instalirati pomoฤu donjeg koda u konzoli.
install.packages("googledrive")
a vi otvorite knjiลพnicu.
library(googledrive)
Za korisnike koji ne koriste Condu, instaliranje biblioteke je jednostavno, moลพete koristiti install.packages('NAME OF PACKAGE') s nazivom paketa u navodnicima unutar zagrada. R ga instalira na prvu lokaciju koju vraฤa .libPaths().
Prenesi na Google Drive
Za prijenos datoteke u Google pogon, morate koristiti funkciju drive_upload().
Svaki put kada ponovno pokrenete Rstudio, od vas ฤe se traลพiti da dopustite pristup tidyverse-u Google Drive.
Osnovna sintaksa drive_upload() je
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.
Nakon ลกto pokrenete kod, trebate potvrditi nekoliko pitanja
drive_upload("table_car.csv", name = "table_car")
Izlaz:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
U konzolu upisujete 1 za potvrdu pristupa
Zatim ฤete biti preusmjereni na Google API za dopuลกtanje pristupa. Kliknite Dopusti.
Kada je provjera autentiฤnosti dovrลกena, moลพete zatvoriti preglednik.
U Rstudiovoj konzoli moลพete vidjeti saลพetak izvrลกenog koraka. Google uspjeลกno prenesena datoteka koja se nalazi lokalno na Disku. Google dodijelio ID svakoj datoteci na disku.
Ovu datoteku moลพete vidjeti u Google Spreadsheet.
drive_browse("table_car")
Izlaz:
Bit ฤete preusmjereni na Google Spreadsheet
Uvoz iz Google Drive
Preuzimanje pomoฤu ID-a datoteke je pouzdan put. Ako znate naziv datoteke, prvo dohvatite njezin ID:
biljeลกke: Ovisno o vaลกoj internetskoj vezi i veliฤini vaลกeg Diska, potrebno je vrijeme.
x <-drive_get("table_car")
as_id(x)
Pohranili ste ID u varijablu x. Funkcija drive_download() omoguฤuje preuzimanje datoteke s Google Drive.
Osnovna sintaksa je:
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.
Konaฤno moลพete preuzeti datoteku:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Objaลกnjenje
- drive_download(): Funkcija za preuzimanje datoteke s Google Drive
- as_id(x): Koristite ID za pregledavanje datoteke Google Drive
- overwrite = TRUE: Ako datoteka postoji, prebriลกi je, inaฤe je izvrลกenje zaustavljeno Da biste vidjeli naziv datoteke lokalno, moลพete koristiti:
Izlaz:
Datoteka je pohranjena u vaลกem radnom direktoriju. Ne zaboravite dodati ekstenziju datoteke prije otvaranja u R-u. Puno ime moลพete stvoriti funkcijom paste() (npr. 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
Izlaz:
## 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
Konaฤno, datoteku moลพete ukloniti iz Google voziti.
## remove file
drive_find("table_car") %>%drive_rm()
Izlaz:
Brisanje se obraฤuje asinkrono od strane Google, pa ฤe moลพda trebati trenutak da datoteka nestane.
Izvezi u Dropbox
R je u interakciji s Dropbox preko biblioteke rdrop2. Knjiลพnica nije dostupna ni u Anacondi. Moลพete ga instalirati preko konzole
install.packages('rdrop2')
library(rdrop2)
Dajete privremeni pristup Dropbox s vaลกim vjerodajnicama. Nakon autentifikacije, R moลพe stvarati, uklanjati, prenositi i preuzimati datoteke u vaลกem Dropbox.
Prije svega, morate dati pristup svom raฤunu. Vjerodajnice se pohranjuju u predmemoriju tijekom cijele sesije.
drop_auth()
Bit ฤete preusmjereni na Dropbox za potvrdu autentifikacije.
Dobit ฤete stranicu za potvrdu. Moลพete ga zatvoriti i vratiti se na R
Moลพete stvoriti mapu pomoฤu funkcije drop_create().
- drop_create('my_first_drop'): Stvorite mapu u prvoj grani Dropbox
- drop_create('First_branch/my_first_drop'): Stvorite mapu unutar postojeฤe mape First_branch.
drop_create('my_first_drop')
Izlaz:
U DropuBox
Za uฤitavanje .csv datoteke u vaลก Dropbox, koristite funkciju drop_upload().
Osnovna sintaksa:
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")
Izlaz:
Kod DropaBox
Moลพete proฤitati csv datoteku iz Dropbox s funkcijom drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
Izlaz:
## 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
Kada zavrลกite s koriลกtenjem datoteke i ลพelite je izbrisati. Morate napisati putanju datoteke u funkciji drop_delete()
drop_delete('my_first_drop/table_car.csv')
Izlaz:
Takoฤer je moguฤe izbrisati mapu
drop_delete('my_first_drop')
Izlaz:
Izvoz podataka iz R-a: Referenca funkcija
Svaka funkcija izvoza koriลกtena u ovom vodiฤu navedena je u nastavku:
| Knjiลพnica | Cilj | funkcija |
|---|---|---|
| baza | Izvezi csv | pisati.csv() |
| xlsx | Izvoz excela | pisati.xlsx() |
| utoฤiลกte | Izvoz spss | write_sav() |
| utoฤiลกte | Izvoz sas | write_sas() |
| utoฤiลกte | Izvoz stanja | write_dta() |
| baza | Izvoz R objekata | spremi() / spremiRDS() |
| Google disk | Postavi Google Drive | pogon_upload() |
| Google disk | Otvori u Google Drive | drive_browse() |
| Google disk | Dohvati ID datoteke | pogon_dobi(kao_id()) |
| Google disk | Preuzimanje iz Google Drive | pogon_preuzimanja() |
| Google disk | Ukloni datoteku iz Google Drive | pogon_rm() |
| rdop2 | Ovjera | drop_auth() |
| rdop2 | Napravite mapu | drop_create() |
| rdop2 | Prenesi na Dropbox | drop_upload() |
| rdop2 | ฤitaj csv iz Dropbox | ispusti_ฤitaj_csv() |
| rdop2 | Izbriลกi datoteku iz Dropbox | drop_delete() |













