Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 17 Aprile 2012 Lezione 3 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. Premessa alla lezione Il flusso dei dati Produzione dati (misurazione, campionamento, etc.) Archiviazione dati grezzi Validazione dei dati Elaborazione Archiviazione dati elaborati Reportistica Fasi ORIGINE DATI ELABORAZIONE RISULTATO Cosa succede se: • Cambiano i dati di ingresso? – Devo reimpostare tutto? • I risultati non sono quelli attesi? – Perdo il lavoro già fatto? Elementi di statistica descrittiva con R File di origine (analisi.csv) SIGLA lin1 lin3 lin5 lin11 lin17 lin18 lin19 lin26 lin34 lin42 lin44 lin52 lin53 lin61 SPECIE Solea solea Merluccius merluccius Trisopterus minutus Merluccius merluccius Trisopterus minutus Trisopterus minutus Trisopterus minutus Merluccius merluccius Trisopterus minutus Merluccius merluccius Merluccius merluccius Merluccius merluccius Merluccius merluccius Trisopterus minutus TIPO SO ME TRI ME TRI TRI TRI ME TRI ME ME ME ME TRI L 28,5 23,5 14,6 16,8 13,5 16,7 13,2 15,2 16,5 22,5 18,7 14 15,5 14,7 PESO 218,4 109,9 31 30,5 29,2 55,8 20,5 26,9 48,8 78,7 44,8 22,2 28,6 30,9 ETA 2,4 2,3 1,2 1,4 1,1 1,6 1 1,2 1,6 2,2 1,6 1 1,2 1,2 LindFiletto 4,02 9,07 4,35 8,85 18,41 14,95 9,61 11,58 14 25,38 10,45 12,53 14,51 2,59 LindFegato 437,04 1048,3 105,19 497,19 682,11 2076,47 1680,77 1655,32 1640,93 4196,88 914,6 1940,86 1526,3 408,77 Importare i dati in R • R consente di importare file di formato csv e inserirli in un oggetto data.frame • Il comando per l'import è: t<-read.table("analisi.csv",header=T,sep=";",dec=";") nota: i file di esempio sono su www.ismar.cnr.it → sede Ancona → Formazione • Per visualizzare la tabella, basta digitare t • La tabella t è un oggetto di tipo data.frame, il più importante di R Operazioni con i data.frame • Mostrare singola colonna: t$PESO mostra la colonna come array • Effettuare operazioni su colonna: mean(t$peso) • Aggiungere colonna/risultato t$LindMedio=(t$LindFegato+t$LindFiletto)/2 • Selezionare per righe: subset(t,TIPO==”ME”) seleziona merluzzo • Selezionare per colonne: subset(t,select=c(“SPECIE”,”TIPO”,”L”,”PESO)) • Selezione per righe e per colonne subset(t,TIPO==”ME”,select=c(“L”,”PESO”) Esempio “Complesso” • Abbiamo una tabella in cui sono presenti 3 colonne: specie,taglia,peso • Vogliamo calcolare, per ogni specie, media, peso totale e deviazione standard, il tutto raggruppato per taglia • Vogliamo stampare dei grafici riassuntivi e generare un report automatico • Vogliamo fare in modo che, cambiando i dati in ingresso, il programma NON cambi Ulteriore esempio • Esempio della fattura (file Rfattura.csv) tabella<-read.table("Rfattura.csv",header=T,sep=";",dec=",") tabella tabella$Q tabella$PU tabella$Subtot=tabella$Q*tabella$PU tabella tabella$IVA=tabella$Subtot*0.21 tabella$TOT=tabella$Subtot+tabella$IVA tabella Esportare data.frame • Il data.frame può essere esportato in diversi formati: – .doc → non su linux – .odf → non su windows – LaTeX → sempre (ma chi sa usarlo?) – .rtf → non sempre – .html → soluzione di ripiego (ma funzionale) per i report – .csv → soluzione per importare le tabelle con excel Esportare in .csv • Riferiti all'esempio della fattura: write-csv2(tabella,”miafattura.csv”) Costruzione esempio complesso • Fase 1 – Import dati su data.frame – Elaborazione manuale per tipo • Fase 2 – Elaborazione automatizzata • Fase 3 – Reportistica Listati programmi • I listati dei tre programmi sono disponibili, al momento, su: http://ticket.an.ismar.cnr.it/ memo/index.php/Report_automatico • Quando prima saranno disponibili sul sito d'Istituto (www.ismar.cnr.it → Sedi UOS → Ancona → Formazione) Risultati • Il risultato è un file html (che può anche essere letto con word/oowrite) che contiene: – Tabelle di riepilogo – Grafici • Il programma può essere utilizzato con differenti file di origine senza essere modificato. Domande? (ps: ricorda elenco per attestati)