Come esportare dati da R in formato CSV ed Excel
โก Riepilogo intelligente
Esportare dati da R comprende la scrittura di un data frame in formato CSV, Excel, SPSS, SAS, STATA e formato nativo R, quindi l'invio dello stesso file a Google Drive or DropboxOgni esportazione segue uno schema preciso: una funzione, un data frame e un percorso di destinazione.

Come esportare i dati da R
In questo tutorial impareremo come esportare i dati dall'ambiente R in diversi formati.
Per esportare i dati sul disco rigido, sono necessari il percorso del file e un'estensione. Innanzitutto, il percorso รจ la posizione in cui verranno archiviati i dati. In questo tutorial vedrai come archiviare i dati su:
- Il disco rigido
- Google Drive
- Dropbox
In secondo luogo, R puรฒ scrivere i dati in molti formati. Questo tutorial illustra le estensioni di file essenziali:
- csv
- xlsx
- RDS
- SAS
- SPSS
- STATO
Ogni esportazione segue la stessa struttura: una chiamata di funzione, un frame di dati e un percorso di destinazione.
Esporta su disco rigido
Per iniziare, puoi salvare i dati direttamente nella directory di lavoro. Il seguente codice stampa il percorso della tua directory di lavoro:
directory <- getwd() directory
Produzione:
## [1] "/Users/15_Export_to_do"
A meno che non si fornisca un percorso completo, ogni file viene scritto in quella directory di lavoro. Il valore predefinito varia a seconda del sistema, in genere la cartella home dell'utente su macOS e Linux e la cartella Documenti su Windowsma getwd() ti dice sempre il valore corrente. Modificalo con setwd() oppure passa semplicemente il percorso completo alla funzione write.
setwd("/Users/USERNAME/Downloads")
Crea frame di dati
Innanzitutto, creiamo un piccolo data frame: la media di mpg e disp raggruppata per marcia dal dataset mtcars.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Produzione:
## # 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
La tabella contiene tre righe e tre colonne. ร possibile creare un file CSV con la funzione write.csv in R.
Come esportare un DataFrame in un file CSV in R
La sintassi di base di write.csv in R per esportare DataFrame in CSV in 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
Esempio:
write.csv(df, "table_car.csv")
Code Spiegazione
- write.csv(df, โtable_car.csvโ): crea un file CSV nel disco rigido:
- df: nome del frame di dati nell'ambiente
- โtable_car.csvโ: nomina il file table_car e memorizzalo come csv
Note:: write.csv2() scrive lo stesso file utilizzando un punto e virgola come separatore di campo e una virgola come separatore decimale, che รจ la convenzione in gran parte dell'Europa continentale.
write.csv2(df, "table_car.csv")
Note:A solo scopo didattico, abbiamo creato una funzione chiamata open_folder() per aprire la cartella. ร sufficiente eseguire il codice seguente per visualizzare la posizione del file CSV. Dovreste trovare un file denominato 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)
Come esportare un DataFrame in un file Excel in R
L'esportazione in Excel รจ semplice su Windows e leggermente piรน complicato su macOSEntrambi utilizzano la libreria xlsx e la differenza รจ solo nell'installazione, perchรฉ xlsx dipende da Java. Java deve essere presente sulla macchina affinchรฉ il pacchetto venga caricato.
Windows utenti
On Windows, installa la libreria direttamente con conda:
conda install -c r r-xlsx
Una volta installata la libreria, la funzione write.xlsx() crea una nuova cartella di lavoro di Excel nella directory di lavoro:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Se sei un utente Mac OS, devi seguire questi passaggi:
- Passaggio 1: installa l'ultima versione di Java
- Passaggio 2: installare la libreria rJava
- Passaggio 3: installa la libreria xlsx
Passo 1) Potresti scaricare Java da ufficiale Oracle sito e installarlo.
Puoi tornare a Rstudio e verificare quale versione di Java รจ installato.
system("java -version")
Qualsiasi recente Java Il rilascio funziona. Se il comando non segnala nulla, Java non รจ installato e il pacchetto xlsx non verrร caricato.
Passo 2) Devi installare rjava in R. Ti consigliamo di installare R e Rstudio con Anaconda. Anaconda gestisce le dipendenze tra le librerie. In questo senso, Anaconda gestirร le complessitร di rJava installazione.
Prima di tutto, devi aggiornare conda e quindi installare il file libreria. Puoi copiare e incollare le prossime due righe di codice nel terminale.
conda update conda conda install -c r r-rjava
Successivamente, apri rjava in Rstudio
library(rJava)
Passo 3) Finalmente รจ il momento di installare xlsx. Ancora una volta, puoi usare contea per farlo:
conda install -c r r-xlsx
Proprio come gli utenti Windows, puoi salvare i dati con la funzione write.xlsx()
library(xlsx)
Produzione:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Esportazione dei dati da R a software diversi
Esportare dati su software diversi รจ semplice come importarli. La libreria "haven" fornisce un modo comodo per esportare dati su
- SPSS
- sas
- Stata
Per prima cosa, importa la libreria. Se non hai "haven", puoi andare Qui. per installarlo.
library(haven)
File SPSS
Di seguito รจ riportato il codice per esportare i dati nel software SPSS:
write_sav(df, "table_car.sav")
File SAS
Semplice come spss, puoi esportare in sas
write_sas(df, "table_car.sas7bdat")
file STATA
Infine, la libreria haven consente la scrittura di file .dta.
write_dta(df, "table_car.dta")
Come esportare i dati nei formati nativi di R
Se si desidera mantenere l'oggetto all'interno di R anzichรฉ passarlo a un altro programma, utilizzare uno dei due formati nativi. La funzione save() scrive uno o piรน oggetti denominati in un file .RData:
save(df, file ='table_car.RData')
L'alternativa รจ saveRDS(), che memorizza esattamente un oggetto e consente al lettore di sceglierne il nome al momento del ritorno:
# 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")
| Criteri | saveRDS() / readRDS() | salva() / carica() |
|---|---|---|
| Oggetti per file | Esattamente uno | Uno o molti |
| Nome dell'oggetto al ricaricamento | Lo scegli tu | Ripristinato come salvato |
| Sovrascrive l'ambiente | Non | Sรฌ, in silenzio |
| Prolungamento abituale | .rds | .RData |
ร preferibile utilizzare saveRDS() negli script, poichรฉ load() puรฒ sovrascrivere silenziosamente un oggetto esistente con lo stesso nome. Entrambi i formati mantengono intatti i livelli dei fattori, l'ordine e gli attributi, cosa che il formato CSV non puรฒ fare.
Puoi controllare i file creati sopra nella directory di lavoro attuale
Interagisci con i servizi cloud
, Ultimo, ma non meno importante R รจ dotato di fantastiche librerie per interagire con i servizi di cloud computing. L'ultima parte di questo tutorial riguarda l'esportazione/importazione di file da:
- Google Drive
- Dropbox
Note:: Questa parte del tutorial presuppone che tu abbia un account con Google and Dropbox. In caso contrario, puoi crearne rapidamente uno per: Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
ร necessario installare la libreria googledrive per accedere alla funzione che consente di interagire con Google Drive.
La biblioteca non รจ ancora disponibile su Anaconda. Puoi installarlo con il codice seguente nella console.
install.packages("googledrive")
e apri la libreria.
library(googledrive)
Per chi non usa conda, installare una libreria รจ semplice: basta usare `install.packages('NOME DEL PACCHETTO')` con il nome del pacchetto tra virgolette all'interno delle parentesi. R lo installerร nella prima posizione restituita da `.libPaths()`.
Carica su Google Drive
Per caricare un file su Google Per caricare un'unitร , รจ necessario utilizzare la funzione drive_upload().
Ogni volta che riavvii Rstudio, ti verrร richiesto di consentire l'accesso a tidyverse Google Drive.
La sintassi di base di drive_upload() รจ
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.
Dopo aver avviato il codice, รจ necessario confermare diverse domande
drive_upload("table_car.csv", name = "table_car")
Produzione:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
Digiti 1 nella console per confermare l'accesso
Quindi, verrai reindirizzato a Google API per consentire l'accesso. Fare clic su Consenti.
Una volta completata l'autenticazione, puoi chiudere il browser.
Nella console di RStudio รจ possibile visualizzare il riepilogo dei passaggi eseguiti. Google File caricato correttamente in locale su Drive. Google รจ stato assegnato un ID a ciascun file presente nell'unitร .
Puoi vedere questo file in Google Spreadsheet.
drive_browse("table_car")
Produzione:
Sarai reindirizzato a Google Spreadsheet
Importare da Google Drive
Scaricare il file tramite ID รจ il metodo piรน affidabile. Se conosci il nome del file, recupera prima il suo ID:
Note:: A seconda della connessione Internet e delle dimensioni dell'unitร , l'operazione richiede del tempo.
x <-drive_get("table_car")
as_id(x)
Hai memorizzato l'ID nella variabile x. La funzione drive_download() consente di scaricare un file da Google Drive.
La sintassi di base รจ:
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.
Puoi finalmente scaricare il file:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Spiegazione
- drive_download(): funzione da cui scaricare un file Google Drive
- as_id(x): utilizza l'ID per sfogliare il file Google Drive
- overwrite = TRUE: se il file esiste, lo sovrascrive, altrimenti l'esecuzione viene interrotta. Per vedere il nome del file localmente, puoi usare:
Produzione:
Il file viene salvato nella directory di lavoro. Ricorda di aggiungere l'estensione del file prima di aprirlo in R. Puoi creare il nome completo con la funzione paste() (ad esempio 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
Produzione:
## 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
Infine, puoi rimuovere il file dal tuo Google guidare.
## remove file
drive_find("table_car") %>%drive_rm()
Produzione:
La cancellazione viene elaborata in modo asincrono da Google, quindi il file potrebbe impiegare qualche istante per scomparire.
Esporta a Dropbox
R interagisce con Dropbox tramite la libreria rdrop2. La biblioteca non รจ disponibile anche su Anaconda. Puoi installarlo tramite la console
install.packages('rdrop2')
library(rdrop2)
Concedi l'accesso temporaneo a Dropbox con le tue credenziali. Una volta autenticato, R puรฒ creare, rimuovere, caricare e scaricare file nel tuo Dropbox.
Prima di tutto, devi dare accesso al tuo account. Le credenziali vengono memorizzate nella cache durante tutta la sessione.
drop_auth()
Sarai reindirizzato a Dropbox per confermare l'autenticazione.
Riceverai una pagina di conferma. Puoi chiuderlo e tornare a R
Puoi creare una cartella con la funzione drop_create().
- drop_create('my_first_drop'): Crea una cartella nel primo ramo di Dropbox
- drop_create('First_branch/my_first_drop'): crea una cartella all'interno della cartella First_branch esistente.
drop_create('my_first_drop')
Produzione:
In cadutaBox
Per caricare il file .csv nel tuo Dropbox, utilizzare la funzione drop_upload().
Sintassi di base:
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")
Produzione:
Alla cadutaBox
Puoi leggere il file CSV da Dropbox con la funzione drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
Produzione:
## 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
Quando hai finito di utilizzare il file e desideri eliminarlo. Devi scrivere il percorso del file nella funzione drop_delete()
drop_delete('my_first_drop/table_car.csv')
Produzione:
ร anche possibile eliminare una cartella
drop_delete('my_first_drop')
Produzione:
Esportazione dei dati da R: Riferimento alla funzione
Di seguito รจ riportato l'elenco di tutte le funzioni di esportazione utilizzate in questo tutorial:
| Biblioteca | Obiettivo | Funzione |
|---|---|---|
| base | Esporta CSV | scrivere.csv() |
| xlsx | Esporta Excel | scrivere.xlsx() |
| porto | Esporta spss | write_sav() |
| porto | Esportazione sas | write_sas() |
| porto | Stato di esportazione | write_dta() |
| base | Esporta oggetti R | salva() / salvaRDS() |
| Google Drive | Caricare Google Drive | caricamento_unitร () |
| Google Drive | aprire in Google Drive | guida_sfoglia() |
| Google Drive | Recupera l'ID del file | unitร _get(as_id()) |
| Google Drive | Scarica da Google Drive | drive_download() |
| Google Drive | Rimuovi file da Google Drive | unitร _rm() |
| rdrop2 | Autenticazione | drop_auth() |
| rdrop2 | Crea una cartella | drop_crea() |
| rdrop2 | Carica su Dropbox | drop_upload() |
| rdrop2 | Leggi CSV da Dropbox | drop_read_csv() |
| rdrop2 | Elimina file da Dropbox | drop_delete() |













