Caricare e salvare file di dati

Leggere file di dati

La funzione più utilizzata per leggere dei file di dati testuali è read.table(). Se la prima riga del file corrisponde ai nomi delle colonne, va usato il parametro header = TRUE. sep è il parametro che stabilisce il separatore di colonna.

read.csv() è una variante di read.table(), dove il separatore è la virgola (sep=","), e serve per leggere i file csv (comma separated values). read.delim() si aspetta dei file tsv (tab separated values).

read.table(), se non altrimenti specificato, trasforma le colonne stringa come fattori. Non è però detto che questo sia opportuno. Per evitarlo, va specificato il parametro stringsAsFactors=FALSE.

tabella1 <- read.table("tabella.tsv", header=TRUE, sep="\t")
# identico alla precedente
tabella1 <- read.delim("tabella.tsv", header=TRUE)
tabella2 <- read.table("tabella.csv", header=TRUE, sep=",")
# identico alla precedente
tabella2 <- read.csv("tabella.csv", header=TRUE)

Leggere file in excel

È possibile utilizzare la libreria readxl

## install.packages("readxl")
library(readxl)
read_excel("tabella.xlsx")

Rio

Rio è un pacchetto che permette di importare ed esportare in numerosi formati di dati.

leeper/rio: A Swiss-Army Knife for Data I/O

# install.packages("rio")
library(rio)
install_formats()
# leggo un file salvato da SPSS
ess_table <- import(
	"/home/bussolon/programmi/r/datasets/europeansocialsurvey/ESS8e02.sav")

Leggere da un database

Se i dati sono salvati in un database, vi sono dei driver che permettono di interfacciarsi per leggere, interrogare e salvare i dati.

Getting-started

Sqlite

Ad esempio, con RSQLite è possibile interfacciarsi con SQLite.

r-dbi/RSQLite: R interface for SQLite

## install.packages("RSQLite")
library("RSQLite")
con <- dbConnect(RSQLite::SQLite(), "database.db")
# legge le tabelle del db
dbListTables(con)
# legge i campi di una tabella
dbListFields(con, "prova")
# crea un data frame dalla tabella "prova"
sqlite_tabella <- dbReadTable(con, "prova")

dbClearResult(res)
res <- dbSendQuery(con, 
	"SELECT * FROM prova WHERE condizione == 'sperimentale'")
query_tabella <- dbFetch(res)

Fogli di lavoro google (googlesheets)

Attraverso la libreria googlesheets è possibile utilizzare da R i fogli di lavoro Google.

# installo il pacchetto
# install.packages("googlesheets")
# richiamo la libreria
library(googlesheets)
# autorizzo la libreria ad accedere al mio google
gs_auth(new_user = TRUE)
# elenco i miei documenti
gdocs <- gs_ls()
# carico il documento "prova_R"
fogli_prova_R <- gs_title("prova_R")
# carico il foglio "Foglio1"
foglio_1 <- gs_read(ss=fogli_prova_R, ws = "Foglio1") #, skip=1)

Salvare i dati

Salvare dati testuali

write.table e write.csv permettono di scrivere i dati in formato testuale.

write.csv (data_frame, file="tabella1.csv")
# sep="\t" per salvare in tsv
write.table(data_frame, "tabella2.tsv", 
			sep="\t", row.names=FALSE, col.names=TRUE) 

Salvare e caricare oggetti R

saveRDS e readRDS permettono di salvare e leggere oggetti R in formato binario.

saveRDS(data_frame, "binario.rds")

data_frame <- readRDS("binario.rds")

Risorse

Cookies

Questo sito utilizza cookies tecnici e di terze parti quali google analytics per funzionalità tecniche e statistiche.

Se non acconsenti all'utilizzo dei cookie di terze parti, alcune di queste funzionalità potrebbero essere non disponibili.