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)