Come utilizzare la funzione sink() in R

Puoi utilizzare la funzione sink() in R per inviare i dati alle connessioni esterne.

Ciao ragazzi, oggi parleremo delle applicazioni della funzione sink() in R. Proveremo a creare connessioni in diversi formati come il testo e i file CSV.

Utilizzando la funzione sink(), puoi stampare i dati o esportare l’output di R in file di testo o CSV.

Vediamo come funziona!


La sintassi della funzione sink() in R

Sink(): La funzione sink viene utilizzata per inviare l’output ottenuto in R alla connessione esterna.

sink(file = NULL, type = c("output", "message"),split = FALSE)

Dove:

  • File = La connessione modificabile o il tipo di file.
  • Append = La funzione logica utilizzata per aggiungere i dati al file per evitare sovrascritture.
  • Split = L’output verrà diviso in una nuova connessione o link.

1. Impostare la directory di lavoro

Con l’aiuto della funzione sink(), è possibile stampare facilmente l’output su un file di testo come connessione. Possiamo avviare questo processo impostando la directory di lavoro.

Per verificare la directory di lavoro corrente:

#restituisce la directory di lavoro corrente
getwd()
"C:/Users/Dell/Desktop/rfiles"

Bene. Abbiamo ottenuto la directory di lavoro adesso. È anche possibile modificare la directory di lavoro utilizzando,

#imposta la nuova directory di lavoro
setwd("The directory path here")

Incolla il percorso nella funzione setwd() per impostare la nuova directory di lavoro. Dopo di ciò, non dimenticare di confermare le modifiche utilizzando il comando ‘getwd()’ come mostrato sopra.


2. Stampa dei dati su un file di testo

I hope you are ready with your working path now. Now we are going to create a file connection and print some data into it.

Vediamo come funziona.

#inserisce i dati nella connessione come file di testo
sink("my_first_sink.txt")

#stampa i numeri da 1 a 20
for (i in 1:20)
print(i)
sink()

Ora puoi vedere quanto i nostri dati R sono ordinatamente stampati su un file di testo. Fantastico, vero?


3. Esportare i dati su un file di testo

Nella sezione precedente, abbiamo stampato i dati o l’output su un file di testo. In questa sezione, andremo ad esportare l’intero set di dati disponibile in R di default.

Vediamo come funziona.

#esporta i dati come file di testo
sink('export_dataframe.txt')
airquality
sink()

Puoi vedere che i dati del set di dati qualità dell’aria vengono inviati al file di testo come una connessione esterna.

In questo modo puoi facilmente inviare i dati in R a connessioni esterne. Puoi anche esportarli come file csv come mostrato di seguito.


4. Esportare il data frame in un file CSV

In questa sezione, andremo a inviare o esportare i dati in un file CSV utilizzando la funzione sink() in R.

Vediamo come funziona.

#esporta i dati come file csv
sink('export_dataframe_1.csv')
iris
sink()

Bene, questo è un file CSV che include i dati esportati dalla console di R. La funzione sink() in R offre il modo più semplice per inviare i dati a connessioni esterne come un file.


Esportazione del riassunto dei dati alla connessione

Fino ad ora, tutto bene. Ora, proviamo ad applicare ciò che abbiamo imparato o compreso dalle sezioni precedenti tutti insieme.

Il problema è semplice.

=> Leggi un set di dati a tua scelta e ottieni un riassunto dei dati utilizzando la funzione summary(). Successivamente, salva il risultato nel file di testo come connessione.

Andiamo!!!


1. Leggi i dati

#legge i dati
df<-datasets::airquality
df
View(df)

Il primo passo del problema è qui. Puoi vedere il set di dati sulla qualità dell’aria nell’immagine sopra.


2. Il riassunto() dei dati

Il riassunto dei dati utilizzando la funzione summary() può essere visto di seguito.

#restituisce le informazioni chiave dei dati
summary(airquality)
  Ozone           Solar.R           Wind             Temp           Month      
 Min.   :  1.00   Min.   :  7.0   Min.   : 1.700   Min.   :56.00   Min.   :5.000  
 1st Qu.: 18.00   1st Qu.:115.8   1st Qu.: 7.400   1st Qu.:72.00   1st Qu.:6.000  
 Median : 31.50   Median :205.0   Median : 9.700   Median :79.00   Median :7.000  
 Mean   : 42.13   Mean   :185.9   Mean   : 9.958   Mean   :77.88   Mean   :6.993  
 3rd Qu.: 63.25   3rd Qu.:258.8   3rd Qu.:11.500   3rd Qu.:85.00   3rd Qu.:8.000  
 Max.   :168.00   Max.   :334.0   Max.   :20.700   Max.   :97.00   Max.   :9.000  
 NA's   :37       NA's   :7                                                       
      Day      
 Min.   : 1.0  
 1st Qu.: 8.0  
 Median :16.0  
 Mean   :15.8  
 3rd Qu.:23.0  
 Max.   :31.0  

Questo è il riassunto dei dati che mostra i valori minimi e massimi, i quartili, la mediana, la media e altre informazioni.

3. Inviare l’output alla connessione

Ora, tutto ciò che devi fare è esportarlo in un file di testo e utilizzarlo come connessione esterna.

#inviare i dati di output al file di testo
sink('problem-solution.txt')
summary(airquality)
sink()


4. Terminare la connessione

Hai seguito tutti i passaggi correttamente e hai inviato con successo i dati in un file di testo come connessione esterna.

Ora è il momento di terminare la connessione.

#termina la connessione
unlink('problem-solution.txt')

Il comando precedente eliminerà la connessione del file.

Per riassumere tutti i passaggi,

  • Leggi i dati nella console di R.
  • Applica la funzione summary() ai dati.
  • Ottieni informazioni chiave sui dati.
  • Inoltra i risultati al file di testo utilizzando la funzione sink() in R.

Conclusione

La funzione sink() in R invia l’output di R alla connessione esterna. È possibile esportare i dati in diverse forme come file di testo e CSV. È possibile stampare i dati nella connessione o esportare direttamente l’intero set di dati ad essa.

Dopo il trasferimento dei dati, è possibile disconnettere la connessione per terminare il file.

La funzione sink() in R è utile in molti modi in quanto offre connessioni temporanee per lavorare con i dati.

Ulteriori informazioni: Documentazione di R

Source:
https://www.digitalocean.com/community/tutorials/sink-function-in-r