La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4.

Presentazioni simili


Presentazione sul tema: "Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4."— Transcript della presentazione:

1

2 Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4

3 Il flusso dei dati Produzione dati (misurazione, campionamento, etc.)‏ Archiviazione dati grezzi Validazione dei dati Elaborazione Archiviazione dati elaboratiReportistica

4 Perché usare i database Archivio centralizzato = Minore rischio di perdita dei dati Maggiore disponibilità Nuove possibilità di elaborazione Condivisione dei dati a livello di gruppo Possibilità di creare applicazioni ad hoc per il flusso dei dati Interoperabilità

5 Vantaggi di R Utilizzo di strumenti e librerie di calcolo più evolute Distinzione dei ruoli e delle fasi di elaborazione Possibilità di utilizzare un determinato programma indefinite volte Possibilità di sviluppo del programma in team

6 Vantaggi con R e Database Automatizzazione dei processi Possibilità di stabilire delle regole di accesso, di rappresentazione e di utilizzo dei dati Riusabilità dei lavori pregressi Interoperabilità in progetti in cui partecipano altri soggetti

7 Menù del giorno Usare R per importare dati in formato CSV su Database, condito con esempi Un esempio di validazione dei dati Selezionare i dati da importare Generazione automatica di una relazione partendo da dati archiviati su database Nota: gli esempi sono disponibili sul sito www.ismar.cnr.it → Organizzazione → Sedi UOS → Ancona → Formazionewww.ismar.cnr.it

8 Importare i dati su db Esempio della scuola – Registro scolastico che abbraccia più studenti, con voti su distinte materie nell'arco di più anni – I dati sono in origine presenti su un foglio excel, poi salvato in formato csv (voti_scuola.csv)‏ – I dati saranno importati su db, in seguito faremo ulteriori elaborazioni

9 Fasi Operative Predisporre una connessione ODBC → Lezione 2 Installare il pacchetto RODBC install.packages() → cerco Rodbc Caricare la libreria RODBC in R library(RODBC)‏ A questo punto siamo pronti per iniziare

10 csv2db (da csv a db)‏ 1) Leggo il csv e lo carico su un data.frame 2) Avvio la libreria RODBC 3) Apro la connessione con il db 4) Salvo il data.frame su DB 5) Chiudo la connessione con il db (importante)‏ t<-read.table("voti_scuola.csv",header=T,sep=";",dec=".")‏ library(RODBC)‏ db<-odbcConnect("source1",case="postgresql")‏ sqlSave(db, t, tablename="registro_scuola")‏ close(db)‏

11 Un esempio di validazione Il modello di riferimento prevede che: I dati sono già disponibili in una tabella del db I dati vengono elaborati con R I dati validati vengono memorizzati su una nuova tabella del db Nel nostro esempio: Abbiamo una tabella con due colonne: x e deviazione standard di x Fissata una soglia per la deviazione standard, andremo a filtrare i dati e a memorizzare i risultati su una nuova tabella

12 L'esempio L'esempio viene generato usando direttamente R, usando la funzione rnorm() → vedi help(rnorm)‏ library(RODBC)‏ x<-rnorm(500,5,4)‏ dati<-data.frame(x=x)‏ dati$distMean=abs(abs(x)-mean(x))‏ db<-odbcConnect(“source1”,case=”postgresql”)‏ sqlSave(db,dati,tablename=”da_validare”)‏ close(db)‏

13 Con phppgadmin verifichiamo l'avvenuto caricamento dei dati (http://dev.an.ismar.cnr.it/phppgadmin/)‏http://dev.an.ismar.cnr.it/phppgadmin/ Per leggere i dati dal database e memorizzarli su un data.frame: db<-odbcConnect(“source1”,case=”postgresql”)‏ dati_letti<-sqlFetch(db,”da_validare”)‏ close(db)‏

14 I passi per il filtraggio: I nostri dati sono caricati sul dataframe dati_letti Al momento, con i dati a disposizione, la deviazione standard è circa 4. La colonna “distMean” contiene la distanza assoluta dell'elemento x i dalla media Fissiamo un valore massimo di questa distanza soglia Creiamo un nuovo data.frame con i dati che superano il filtro Salviamo il data.frame su una nuova tabella nel database (dati_Validati)‏

15 Il listato completo library(ODBC)‏ db<-odbcConnect(“source1”,case=”postgresql”)‏ # leggo i dati: dati_letti<-sqlFetch(db,”da_validare”)‏ # filtraggio: distanza_max<-3 soglia<-mean(dati_letti$x)+distanza_max validati<-subset(dati_letti,dati_letti$distMean<soglia)‏ # salvo i dati su db: sqlSave(db,validati,tablename=”validati”)‏ close(db)‏

16 Selezionare dati con sql La funzione sqlFetch non va utilizzata con tabelle eccessivamente grandi Quello che finora è stato fatto con la funzione subset di R può essere fatto con l'istruzione SELECT del linguaggio SQL Con la SELECT è possibile mettere in correlazione più tabelle, con sqlFetch NO

17 SELECT con R Comando equivalente di sqlFetch: v<-sqlQuery(db,”select * from registro_scuola”)‏ Selezionare specifiche colonne: v<-sqlQuery(db,”select cognome, nome, italiano from registro_scuola”)‏ Selezionare righe con condizioni: v<-sqlQuery(db,”select * from registro_scuola where anno=2008”)‏ Possibilità di ordinamento: v<-sqlQuery(db,”select * from registro_scuola order by cognome, nome”)‏

18 Relazione con db Riutilizziamo l'esempio finale della lezione 3: Importiamo, con una sqlSave, il foglio cdv chiamato “dati2.csv” Memorizziamo i dati sul database, in una tabella chiamata dati_relazione Modifichiamo il programma distribuzione.r in modo da prelevare i dati da db

19 La modifica La modifica necessaria per far funzionare il programma è minima. Al posto della read.table vanno inserite le seguenti righe: library (RODBC)‏ db<-odbcConnect(“source1”,case=”postgresql”)‏ tabella<-sqlFetch(db,”dati_relazione”)‏ close(db)‏...

20 Nota sui documenti word I documenti word generati da file html NON includono le immagini nel file Ricordarsi di copiare nella stessa cartella del documento word tutte le immagini necessarie, generate dal programma R

21 Spunti per il futuro Realizzazione struttura database di istituto, con ridondanza Definizione di un percorso formativo/informativo a livello di sede Utilizzo di strumenti informatici di supporto: – Piattaforma redmine – Subversion – Wiki, etc.

22


Scaricare ppt "Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4."

Presentazioni simili


Annunci Google