Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 10 Aprile 2012
Programma incontri 1) Martedì 10 aprile, dalle 9:30 alle 11:00 Introduzione alle potenzialità di R 2) Giovedì 12 aprile, dalle 9:30 alle 11:00 Cenni sui dbms, sql e odbc. Utilizzo di database centralizzati con applicazioni office e applicazioni web. 3) Martedì 17 aprile, dalle 9:30 alle 11:00 Elementi di statistica descrittiva con R, distribuzioni di frequenza, import dei dati da fogli csv/excel, stampa di grafici. 4) Giovedì 19 aprile, dalle 9:30 alle 11:00 Estrazione dei dati archiviati su database, elaborazione e salvataggio risultati su db. Cenni sulla programmazione R.
Perché questo corso? Nel nostro istituto vengono trattati molti dati semplici organizzati in modo eterogeneo, con inconsistenze, incongruenze e dati duplicati. Quasi sempre i dati non sono indicizzati. L'elaborazione viene fatta con strumenti che richiedono lavoro ripetitivo e privi di controllo di processo per la reportistica. Esempio della ripetizione delle distribuzioni di frequenza su più cale in più campagne in più anni. Questo corso vuole essere uno stimolo ad affrontare il processo di gestione ed elaborazione dati in modalità coerenti e standardizzate
R R (cran-r) è un ambiente software open source per l'elaborazione statistica. È multipiattaforma: funziona su windows, linux e mac os. È modulare: esistono pacchetti (gratuiti, sviluppati da aziende, a pagamento) che aggiungono funzionalità o librerie. Il sito di riferimento del progetto è: R si presenta con una interfaccia testuale a riga di comando, che può scoraggiare inizialmente.
What do you want to do today? La maggior parte dei testi che illustrano un ambiente di programmazione seguono un percorso abbastanza standardizzato (tipi di dati, operatori, sintassi, funzioni intrinseche, etc. etc.) che nel neofita causano irrefrenabili attacchi di noia. Bypasseremo tutti i formalismi, arrivando alla fine di questa lezione a produrre già dei risultati pratici. Per la teoria c'è sempre tempo ed è più facile capire come quando si conosce cosa. Da questo momento in poi, le slide conterranno solo una parte degli argomenti trattati. Esempi saranno effettuati direttamente nell'ambiente R.
Un tuffo in R Installato e avviato R appare un prompt in attesa di istruzioni. Abbiamo una distribuzione di taglie di triglie, inseriamole in un vettore: > triglie<-c(2,4,5,6,3,3,4,3,3,2,5,5,3,4,5,3,4,5,6,7,5,3,3,5,3, 2,3,4,5,6,4,3,4,5,6,7,8,9,6,4,5,6,7,8,9,11) Dove: triglie è il nome del vettore o array; <- è l'operatore di assegnamento; c()è la funzione di concatenamento; xsono valori numerici interi separati da virgola.
Funzioni embedded Una volta inseriti i dati nell'array, possiamo effettuare semplici elaborazioni statistiche usando le funzioni embedded di R: – Calcolo della media: mean(triglie) – Calcolo del massimo e minimo: max(triglie) min(triglie) – Tabella distribuzione frequenza: table(triglie) o addmargins(table(triglie))
Grafici Complicato? hist(triglie) Immaginiamo di tracciare la crescita d'altezza di un bambino: crescita_sandro<- c(48,52.4,55.7,62.8,72.3,77.6,84.7,91.2,102.5) Per tracciare un classico grafico a linee basta digitare: plot(crescita_sandro,type="b")
Grafici Continuiamo in dolcezza con una bella torta: torta<-c(33,22,45) pie(torta) Per rendere più leggibile la torta possiamo usare un secondo vettore per le etichette: etichette=c("si","no","forse") pie(torta,etichette)
Ancora sui grafici Le funzioni plot e curve consentono di visualizzare, rispettivamente, istogrammi e grafici di funzioni: x<-c(1,2,3,4) y<-c(1,4,9,16) plot(x,y,type="b") Otteniamo un tipico diagramma cartesiano. Per plottare direttamente grafici di funzioni curve(sin(x),0,2*pi) curve(x^3,-10,10)
Esportare i grafici Per salvare su un file pdf il risultato dei due grafici: pdf(file="test.pdf") hist(triglie) pie(torta,etichette) dev.off() Oppure per esportare la torta in immagine png: png(file="torta.png",width=600,height=600) pie(torta,etichette) dev.off()
Riferimenti e bibliografia Laboratorio di statistica con R, Iacus Masarotto, McGraw Hill intro.html FormularioStatisticaR.pdf Grafici per tutti i gusti:
Il flusso dei dati Produzione dati (misurazione, campionamento, etc.) Archiviazione dati grezzi Validazione dei dati Elaborazione Archiviazione dati elaboratiReportistica
Archiviazione dei dati L'archiviazione dei dati può essere effettuata in varie modalità: – Trascrizione cartacea – File testuali (.dat,.txt, etc.) – Spreadsheet – Database non relazionali – RDBMS Il metodo più efficace per l'archiviazione dei dati sono i RDMBS (prossima lezione)
Dati grezzi I dati grezzi sono tutti quelli generati dal processo di produzione dati. Dati non filtrati e spesso non aggregati che possono contenere: – Errori di misurazione – Dati duplicati – Dati rappresentati in modo differente (es. “AN”, “an”, “An”) – Dati fuori sincronizzazione (con base tempo o geografica) È importante conservare i dati grezzi
Validazione dei dati I dati grezzi vengono analizzati o elaborati per – Filtrare o evidenziare errori di campionatura (es. Teoria degli errori) – Aggregare e normalizzare i dati – Verificare esistenza duplicati La validazione dei dati può essere effettuata con R L'archiviazione dei dati validati avviene su database relazionale