Sei in possesso di dati in formato csv, excel o txt e stai cercando come importarli in R per poterli analizzare? Sei capitato nel posto giusto perché in questa lezione ti spiego come importare in R dataset contenuti in file con estensione csv, xls, xlsx e txt.
Importazione di file csv
Il file csv, acronimo di Comma Separated Values (tradotto in italiano vuol dire "Valori Separati da una Virgola"), è un file di testo in cui i campi sono separati da una virgola. I file csv possono essere apeti con un qualsiasi editor di testo, ad esempio Word, Notepad++ o il classico Blocco Note di Windows. Se invece hai un Mac puoi utilizzare UltraEdit, Brackets, Komodo ecc.. Ti mostro qui sotto uno screenshot
Come vedi la prima riga contiene l'intestazione di colonna, ovvero i nomi delle colonne separati da una virgola. A seguire trovi le righe con i dati: ciascuna di queste equivale a un'osservazione o record che contiene i valori dei vari campi separati da una virgola. Certo è che questo non è il miglior modo per visualizzare un file csv. Infatti, i file csv sono fatti per essere importati in software che sono in grado di leggerli fornendo una migliore visualizzazione e la possibilità di analizzare i dati in essi contenuti.
Il comando R per importare un file csv è il seguente:
read.csv("nome_file.csv")
Il comando read.csv è un comando già presente in R e che non richiede il richiamo di librerie per funzionare. Ad esempio, se data.csv è il nome del tuo file csv, puoi seguire il seguente comando per importarlo e salvarlo:
data <- read.csv("data.csv")
Per visualizzare il file importato basta usare il comando View mettendo tra parentesi il nome dell'oggetto dove è stato salvato ed esattamente in questo modo:
View(data)
Importazione di file Excel (xls o xlsx)
Se invece il tuo dataset è in un file Excel ed esattamente con estensione xls o xlsx, allora devi usare il comando read_excel, il quale ha però bisogno della libreria readxl di R per funzionare. Il comando è il seguente:
library(readxl)
data_xlsx <- read_excel("nome_file.xlsx")
Come vedi, con il primo comando ho richiamato la libreria readxl e con il secondo comando ho importato e salvato il dataset nell'oggetto data_xlsx. Anche in questo caso puoi utilizzare il comando View per avere una visualizzazione più chiara dei dati importati.
Per default, il comando appena visto importa il primo foglio che trova all'interno del file Excel. Se il tuo file Excel contenesse più di un dataset, puoi aggiungere il parametro sheet settandolo con il nome o con il numero del foglio per importare quello che desideri:
data_xlsx <- read_excel("nome_file.xlsx", sheet = 2)
oppure
data_xlsx <- read_excel("nome_file.xlsx", sheet = "Dataset 2")
Guarda il video qui sotto in cui ti mostro praticamente come fare.
Importazione di file di testo txt
Adesso ti spiego come importare in R un file di testo con estensione .txt. Questi tipi di file possono essere aperti con un normale text editor come fatto per i file .csv. A differenza di questi ultimi, la separazione tra un campo e l'altro può avvenire con diversi tipi di caratteri: di solito sono lo spazio singolo, la e commerciale (&), il carattere di tabulazione (\t) ecc...
Il comando R è il seguente:
read.delim("nome_file.txt", header = TRUE, sep = “ “, dec = “.”)
e non necessita di alcuna libreria dato che è un comando nativo di R.
- "nome_file.txt" è il nome del file che vuoi caricare;
- “header” specifica se la prima riga del file contiene (TRUE) o no (FALSE) le intestazioni di colonna;
- “sep” indica il carattere di separazione tra i campi; i più diffusi sono;
- “dec” indica quale segno di separazione utilizzare per i numeri decimali. Di solito si usa il punto “.” ma potresti optare per la virgola "," se volessi visualizzare i numeri decimali nel formato italiano.
Ecco vari modi di usare il comando read.delim importando gli stessi dataset che ho usato nel video tutorial presente alla fine della pagina:
# Importa file txt con carattere di separazione e commerciale
txt1 <- read.delim("prodotti.txt", header = TRUE, sep = "&", dec = ".")
# Importa file txt con carattere di separazione singolo spazio
txt2 <- read.delim("sample.txt", header = TRUE, sep = " ", dec = ".")
# Importa file txt con carattere di separazione tab (4 spazi)
txt3 <- read.delim("songs.txt", header = TRUE, sep = "\t", dec = ".")
# Importa file txt senza nomi di colonne
txt4 <- read.delim("songs2.txt", header = FALSE, sep = "\t", dec = ".")
In questo ultimo caso puoi assegnare manualmente il nome alle colonne così:
colnames(txt4 ) <- c("nome colonna 1", " nome colonna 2", " nome colonna 3")