Elementi di statistica con R
e i database
LEZIONE 2
Rocco De Marco
rocco.demarco(a)an.ismar.cnr.it
Ancona, 12 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.
Il flusso dei dati
Produzione dati
(misurazione,
campionamento,
etc.)
Archiviazione dati grezzi
Validazione dei dati
Elaborazione
Archiviazione dati elaborati
Reportistica
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
I (r)DBMS
•
•
•
•
•
•
Data Base Management System
Modello client/server
Relazionali
Commerciali vs gratuiti
Centralizzati o distribuiti
Replicati in modo asincrono o sincrono
I database
• Rappresentato i dbms come un insieme di
scatole cinesi, i database sono i contenitori di
dati di più alto livello.
• Ciascun database può avere associato un
distinto gruppo di utenti abilitato alle
operazioni
Tabelle
• Le tabelle sono i contenitori di dati, e a loro volta sono
contenute in un database.
• Le tabelle sono strutturate in record (righe) e campi
(colonne).
• I campi contengono gli attributi di un record e
possono essere dati di diversi tipi (testo, intero, reale,
data, binario, etc.)
• Le tabelle possono avere indici e vincoli (chiave
primaria, campi non vuoti, etc.)
• Più tabelle possono essere messe in relazione tra loro.
Tabelle
Tabelle
Relazioni tra tabelle
SQL: Structured Query Language
• Linguaggio (semi) standardizzato per operare
su DBMS
• Linguaggio di alto livello
• Ogni operazione sui database (dalla creazione
di una tabella ad una interrogazione) è
effettuata (o tradotta) in sql
Applicazione pratica
• Accesso al server rDBMS postgres
• http://dev.an.ismar.cnr.it/phppgadmin/
(funziona solo da dentro l'istituto)
• Username: corsoR
• Password: 1234
Phppgadmin
Creazione tabelle con sql
CREATE TABLE table_name
CREATE TABLE Persons
(
(
column_name1 data_type,
P_Id int,
column_name2 data_type,
LastName varchar(255),
column_name3 data_type,
FirstName varchar(255),
....
Address varchar(255),
)
City varchar(255)
)
Esempi con phppgadmin
• Creazione tabella
• Inserimento dati
• Modifica e cancellazione dati
Cenni di SQL
• Inserimento
– insert into TABELLA values (n,m.n,'testo')
• Interrogazione
– select from TABELLA where condizione
order by campo
• Cancellazione
– delete from TABELLA where condizione
• Modifica
– update TABELLA set campo=valore
where condizione
Niente panico!
ODBC
• Object DataBase Connectivity
• Il gioco della staffetta:
– Un programma (R, Excel, etc.) ha bisogno di un
dato. Passa il testimone (la richiesta di dati)
all'ODBC
– ODBC, in base al tipo di database, utilizza un
dizionario (driver) per colloquiare con il dbms e
passa il testimone
– Il dbms (che può essere fisicamente su altro
computer) esegue la richiesta e inizia una staffetta
(con i risultati) a marcia indietro
ODBC: Modello
E allora?
• Abbiamo i dati su un dbms
(diciamo server)
• Ci servono dentro il
programma cha gira sul
nostro computer
• Il nostro computer
(purtroppo) usa windows
HAI BISOGNO DI ODBC!
(normalmente presente nell'installazione base di windows)
Configurazione ODBC
• Installiamo il driver postgres:
ftp://ftp.postgresql.org/pub/odbc/versions/msi/
• Pannello di controllo → Strumenti di amministrazione →
Origine dati
http://support.microsoft.com/kb/305599
• DSN utente → Aggiungi
– Postgresql driver Unicode (errore...)
– Datasource: test, database: corsoR, server:
dev.an.ismar.cnr.it, username: corsoR, password: 1234
– test!
Utilizzo con Access
•
•
•
•
•
Crea nuovo db
Tabelle → collega
Tipo di file → origine dati odbc
→ orgine dati computer → test
È possibile creare maschere, query e report
partendo dai dati presenti sul server dbms!
The end