Kuidas eksportida andmeid R-ist CSV-sse ja Excelisse

โšก Nutikas kokkuvรตte

Andmete eksportimine R-ist hรตlmab andmeraami kirjutamist CSV-, Exceli-, SPSS-, SAS-, STATA- ja natiivsetesse R-vormingutesse ning seejรคrel sama faili edastamist Google Drive or DropboxIga eksport jรคrgib รผhte mustrit: funktsioon, andmeraamistik ja sihtkoha tee.

  • ๐Ÿ“ Sihtkoht esimene: getwd() annab teada tรถรถkataloogi ja kรตik suhtelised failinimed kirjutatakse sinna, kui tรคielikku teed pole antud.
  • ๐Ÿ“„ CSV-eksport: write.csv(df, โ€œfile.csvโ€) on universaalne valik ja write.csv2() lรผlitub semikoolonitega eraldajatele.
  • ๐Ÿ“— Exceli eksport: xlsx paketi write.xlsx() vajab toimivat Java paigaldamine masinale.
  • ๐Ÿ”„ Statistika tarkvara: Haveni pakett kirjutab SPSS-, SAS- ja STATA-faile write_sav(), write_sas() ja write_dta() funktsioonidega.
  • ๐Ÿ’พ Natiivvormingud: saveRDS() salvestab รผhe objekti ja save() mitu, sรคilitades mรตlemad tรคpselt nii faktoritasemed kui ka atribuudid.
  • โ˜๏ธ Pilve รผleslaadimine: GoogleDrive ja rdrop2 autentivad end seansi jooksul รผks kord ning seejรคrel laadivad ja laadivad failid otse R-ist รผles ja alla ning kustutavad neid.

Ekspordi andmed R CSV Excelist

Kuidas eksportida andmeid R-st

Selles รตpetuses รตpime eksportima andmeid R keskkonnast erinevatesse vormingutesse.

Andmete eksportimiseks kรตvakettale on vaja failiteed ja laiendit. Esiteks on tee asukoht, kuhu andmed salvestatakse. Selles รตpetuses nรคete, kuidas salvestada andmeid:

  • Kรตvaketas
  • Google Drive
  • Dropbox

Teiseks, R saab andmeid paljudes vormingutes vรคlja kirjutada. See รตpetus hรตlmab olulisi faililaiendeid:

  • csv
  • xlsx
  • RDS
  • SAS
  • SPSS
  • STATA

Iga eksport jรคrgib sama kuju: รผks funktsioonikutse, andmekaader ja sihtkoha tee.

Ekspordi kรตvakettale

Alustuseks saate salvestada andmed otse tรถรถkataloogi. Jรคrgmine kood prindib teie tรถรถkataloogi tee:

directory <- getwd()
directory

Vรคljund:

## [1] "/Users/15_Export_to_do"

Kui te ei sisesta tรคielikku teed, kirjutatakse iga fail sellesse tรถรถkataloogi. Vaikimisi on see sรผsteemiti erinev, tavaliselt on see kasutaja kodukaust arvutis. macOS ja Linux ning kaust Dokumendid saidil Windows, aga getwd() nรคitab alati praegust vรครคrtust. Muuda seda setwd() abil vรตi anna lihtsalt tรคielik tee kirjutamisfunktsioonile.

setwd("/Users/USERNAME/Downloads")

Loo andmeraam

Esmalt looge vรคike andmestik: MTCAR-i andmestikust kรคigu jรคrgi rรผhmitatud kรผtusekulu ja disp keskmine.

library(dplyr)
df <-mtcars %>%
    select(mpg, disp, gear) %>%
    group_by(gear) %>%
    summarize(mean_mpg = mean(mpg), mean_disp = mean(disp))
df

Vรคljund:

## # 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

Tabel sisaldab kolme rida ja kolme veergu. Saate luua CSV-faili funktsiooniga write.csv lahtris R.

Kuidas eksportida DataFrame'i CSV-faili R

Faili write.csv pรตhisรผntaks R-is DataFrame'i eksportimiseks CSV-vormingusse R-is:

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

Nรคide:

write.csv(df, "table_car.csv")

Code Selgitus

  • write.csv(df, "table_car.csv"): looge kรตvakettale CSV-fail:
    • df: andmeraami nimi keskkonnas
    • "table_car.csv": andke failile nimi table_car ja salvestage see csv-vormingus

mรคrkused: write.csv2() kirjutab sama faili, kasutades vรคljade eraldajana semikoolonit ja kรผmnendkohtade eraldajana koma, mis on tavaks suures osas Mandri-Euroopast.

write.csv2(df, "table_car.csv")

mรคrkusedAinult pedagoogilistel eesmรคrkidel lรตime funktsiooni nimega open_folder(), mis avab teie jaoks kataloogi. Teil tuleb lihtsalt kรคivitada allolev kood ja vaadata, kuhu CSV-fail on salvestatud. Peaksite nรคgema faili nimega 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)

Kuidas eksportida DataFrame'i Exceli faili R-is

Excelisse eksportimine on imelihtne Windows ja veidi keerulisem macOSMรตlemad kasutavad xlsx teeki ja erinevus seisneb ainult installimises, kuna xlsx sรตltub Java. Java peab enne paki laadimist masinal olemas olema.

Windows Kasutajad

On Windows, installige teek otse conda abil:

conda install -c r r-xlsx

Kui teek on installitud, loob write.xlsx() tรถรถkausta uue Exceli tรถรถvihiku:

library(xlsx)
write.xlsx(df, "table_car.xlsx")

Kui olete Mac OS-i kasutaja, peate jรคrgima neid samme.

  • 1. toiming: installige rakenduse uusim versioon Java
  • 2. samm: installige raamatukogu rJava
  • 3. samm: installige raamatukogu xlsx

Step 1) Vรตiksid alla laadida Java ametlikult Oracle saidile ja installige see.

Vรตite minna tagasi Rstudiosse ja kontrollida, milline versioon Java on paigaldatud.

system("java -version")

Kรตik hiljutised Java vabastamine toimib. Kui kรคsk ei anna midagi teada, Java pole installitud ja xlsx-paketi laadimine ebaรตnnestub.

Step 2) Rjava peate installima R-i. Soovitasime installida R ja Rstudio koos Anacondaga. Anaconda haldab raamatukogude vahelisi sรตltuvusi. Selles mรตttes saab Anaconda r-i keerukustega hakkamaJava paigaldus.

Kรตigepealt peate Conda vรคrskendama ja seejรคrel installima raamatukogu. Saate terminali kopeerida ja kleepida kaks jรคrgmist koodirida.

conda update conda
conda install -c r r-rjava

Jรคrgmisena avage Rstudios rjava

library(rJava)

Step 3) Lรตpuks on aeg installida xlsx. Taaskord saate kasutada konda seda teha:

conda install -c r r-xlsx

Nii nagu Windowsi kasutajad, saate salvestada andmeid funktsiooniga write.xlsx()

library(xlsx)

Vรคljund:

## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")

Andmete eksportimine R-st erinevasse tarkvara

Andmete eksportimine erinevatesse tarkvaradesse on sama lihtne kui nende importimine. Raamatukogu "haven" pakub mugavat vรตimalust andmete eksportimiseks

  • spss
  • sas
  • olnud

Kรตigepealt importige raamatukogu. Kui teil pole "haven", vรตite minna siin installida.

library(haven)

SPSS-fail

Allpool on kood andmete eksportimiseks SPSS-i tarkvarasse:

write_sav(df, "table_car.sav")

SAS-fail

Sama lihtne kui spss, saate eksportida sas-i

write_sas(df, "table_car.sas7bdat")

STATA-fail

Lรตpuks vรตimaldab turvateek kirjutada .dta-faili.

write_dta(df, "table_car.dta")

Kuidas eksportida andmeid R-i natiivvormingutesse

Kui soovite objekti R-is hoida, mitte seda teisele programmile edastada, kasutage รผhte kahest natiivsest vormingust. save() kirjutab รผhe vรตi mitu nimega objekti .RData faili:

save(df, file ='table_car.RData')

Alternatiiviks on saveRDS(), mis salvestab tรคpselt รผhe objekti ja laseb lugejal tagasiteel selle nime valida:

# 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")
Kriteeriumid salvesta RDS() / loe RDS() salvesta() / laadi()
Objekte faili kohta Tรคpselt รผks รœks vรตi mitu
Objekti nimi uuesti laadimisel Sina valid selle Taastatud salvestatud kujul
Kirjutab keskkonna รผle Ei Jah, vaikselt
Tavaline pikendus .rds-failid .RData

Skriptides eelista saveRDS() funktsiooni, kuna load() suudab vaikselt รผle kirjutada samanimelise olemasoleva objekti. Mรตlemad vormingud sรคilitavad teguritasemed, jรคrjestuse ja atribuudid puutumata, mida CSV teha ei suuda.

รœlaltoodud faile saate kontrollida praeguses tรถรถkataloogis

Andmete eksportimine R-st STATA-faili

Suhelge pilveteenustega

Last but not least, R on varustatud fantastiliste raamatukogudega pilvandmetรถรถtlusteenustega suhtlemiseks. Selle รตpetuse viimane osa kรคsitleb failide eksportimist/importimist:

  • Google Drive
  • Dropbox

mรคrkused: See รตpetuse osa eeldab, et teil on konto Google ja Dropbox. Kui ei, saate selle kiiresti luua: Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h

Google Drive

Peate installima raamatukogu googledrive, et pรครคseda juurde funktsioonile, mis vรตimaldab suhelda Google Drive.

Raamatukogu pole Anacondas veel saadaval. Saate selle installida konsooli alloleva koodiga.

install.packages("googledrive")

ja avate raamatukogu.

library(googledrive)

Mitte-Conda kasutajate jaoks on teeki installimine lihtne, saate kasutada install.packages('PAKETTI NIMI'), kus paketi nimi on sulgudes jutumรคrkides. R installib selle esimesse asukohta, mille .libPaths() tagastab.

Laadi รผles Google Drive

Faili รผleslaadimiseks Google draivi jaoks peate kasutama funktsiooni drive_upload().

Iga kord, kui Rstudio taaskรคivitate, palutakse teil lubada tidyverse'ile juurdepรครคs Google Drive.

Funktsiooni drive_upload() pรตhisรผntaks 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.

Pรคrast koodi kรคivitamist peate kinnitama mitu kรผsimust

drive_upload("table_car.csv", name = "table_car")

Vรคljund:

## Local file: 
## * table_car.csv 
## uploaded into Drive file: 
## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk 
## with MIME type: 
## * text/csv

Juurdepรครคsu kinnitamiseks tippige konsooli 1

Google Drive

Seejรคrel suunatakse teid รผmber aadressile Google API juurdepรครคsu lubamiseks. Klรตpsake nuppu Luba.

Google Drive

Kui autentimine on lรตppenud, saate brauserist sulgeda.

Google Drive

Rstudio konsoolis nรคete tehtud sammu kokkuvรตtet. Google Draivil lokaalselt asuv fail on edukalt รผles laaditud. Google mรครคras igale draivis olevale failile ID.

Google Drive

Seda faili nรคete Google Spreadsheet.

drive_browse("table_car")

Vรคljund:

Teid suunatakse รผmber saidile Google Spreadsheet

Google Drive

Import asukohast Google Drive

Faili ID jรคrgi allalaadimine on usaldusvรครคrne viis. Kui teate faili nime, hankige kรตigepealt selle ID:

mรคrkused: olenevalt teie Interneti-รผhendusest ja Drive'i suurusest vรตtab see aega.

x <-drive_get("table_car")
as_id(x)

Google Drive

Salvestasite ID muutujasse x. Funktsioon drive_download() vรตimaldab faili alla laadida aadressilt Google Drive.

Pรตhiline sรผntaks 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.

Lรตpuks saate faili alla laadida:

download_google <- drive_download(as_id(x), overwrite = TRUE)

Code Selgitus

  • drive_download(): funktsioon faili allalaadimiseks Google Drive
  • as_id(x): kasutage faili sirvimiseks ID-d Google Drive
  • overwrite = TRUE: kui fail on olemas, kirjutage see รผle, muidu tรคitmine peatatakse Faili nime kohalikuks nรคgemiseks vรตite kasutada jรคrgmist:

Vรคljund:

Google Drive

Fail salvestatakse teie tรถรถkataloogi. Enne R-is avamist รคrge unustage lisada faililaiendit. Tรคisnime saate luua funktsiooniga paste() (nt 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

Vรคljund:

##   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

Lรตpuks saate faili oma kaustast eemaldada. Google sรตita.

## remove file
drive_find("table_car") %>%drive_rm()

Vรคljund:

Google Drive

Kustutamist tรถรถdeldakse asรผnkroonselt Google, seega vรตib faili kadumine veidi aega vรตtta.

Eksport on Dropbox

R suhtleb Dropbox rdrop2 teegi kaudu. Raamatukogu pole ka Anacondas saadaval. Saate selle installida konsooli kaudu

install.packages('rdrop2')
library(rdrop2)

Te annate ajutise juurdepรครคsu Dropbox teie volitustega. Pรคrast autentimist saab R teie kaustas faile luua, eemaldada, รผles laadida ja alla laadida Dropbox.

Kรตigepealt peate andma juurdepรครคsu oma kontole. Mandaat salvestatakse vahemรคllu kogu seansi ajal.

drop_auth()

Teid suunatakse รผmber saidile Dropbox autentimise kinnitamiseks.

Eksport on Dropbox

Saate kinnituslehe. Saate selle sulgeda ja naasta R-i

Eksport on Dropbox

Kausta saate luua funktsiooniga drop_create().

  • drop_create('my_first_drop'): looge kaust esimeses harus Dropbox
  • drop_create('First_branch/my_first_drop'): looge kaust olemasolevasse First_branch kausta.
drop_create('my_first_drop')

Vรคljund:

Eksport on Dropbox

In DropBox

Eksport on Dropbox

Csv-faili รผleslaadimiseks oma Dropbox, kasutage funktsiooni drop_upload().

Pรตhiline sรผntaks:

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")

Vรคljund:

Eksport on Dropbox

DropisBox

Eksport on Dropbox

Saate lugeda csv-faili Dropbox funktsiooniga drop_read_csv()

dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car

Vรคljund:

##   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

Kui olete faili kasutamise lรตpetanud ja soovite selle kustutada. Peate kirjutama faili tee funktsiooni drop_delete()

drop_delete('my_first_drop/table_car.csv')

Vรคljund:

Eksport on Dropbox

Samuti on vรตimalik kausta kustutada

drop_delete('my_first_drop')

Vรคljund:

Eksport on Dropbox

Andmete eksportimine R-ist: funktsioonide viide

Kรตik selles รตpetuses kasutatud ekspordifunktsioonid on loetletud allpool:

Raamatukogu Eesmรคrk funktsioon
baas Ekspordi csv write.csv()
xlsx Ekspordi excel write.xlsx()
haven Ekspordi spss write_sav()
haven Ekspordi sas write_sas()
haven Ekspordi staatus write_dta()
baas Ekspordi R-objektid salvesta() / salvestaRDS()
googledrive Tรคiendava Google Drive drive_upload()
googledrive Ava Google Drive drive_browse()
googledrive Too faili ID drive_get(as_id())
googledrive Allalaadimine Google Drive drive_download()
googledrive Eemalda fail kohast Google Drive drive_rm()
rdrop2 Autentimine drop_auth()
rdrop2 Looge kaust drop_create()
rdrop2 Laadi รผles Dropbox drop_upload()
rdrop2 Lugege csv-d alates Dropbox drop_read_csv()
rdrop2 Kustuta fail kohast Dropbox drop_delete()

KKK

saveRDS() salvestab รผhe objekti ja readRDS() vรตimaldab teil sellele mรครคrata mis tahes nime. save() salvestab mitu objekti ja load() taastab nende algsed nimed, mis vรตivad vaikselt รผle kirjutada teie keskkonnas juba olevad muutujad.

Vaikimisi kirjutab write.csv() reanimed nimetu esimese veeruna. Selle vรคltimiseks sisesta row.names = FALSE, vastasel juhul tekitab faili uuesti importimine eksliku X-veeru.

Kasutage writexl::write_xlsx() vรตi openxlsx::write.xlsx(). Mรตlemad kirjutavad .xlsx-faile puhtas R-is ilma Java sรตltuvus, mis vรคldib r-iJava xlsx-paketi jaoks vajalik seadistus.

Kasutage CSV asemel RDS-i vรตi Parqueti. Mรตlemad sรคilitavad veerutรผรผbid ja faktoritasemed, seega laadib treeningandmestik uuesti identselt. CSV teisendab tรผรผbid vaikselt ja on levinud reprodutseerimatute mudelitulemuste allikas.

Jah. Tehisintellekti assistendid saavad diagnoosida lubade vigu, valesid tรถรถkatalooge ja puuduvaid Java xlsx-paketi jaoks. Enne soovitatud tee usaldamist kinnita sihtkoht alati funktsiooniga getwd().

Vรตta see postitus kokku jรคrgmiselt: