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 elaboratiReportistica
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)
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 → sede Ancona → Formazionewww.ismar.cnr.it 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: memo/index.php/Report_automatico Quando prima saranno disponibili sul sito d'Istituto ( → 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)