Lab in Informatica Laurea in Biologia / Biologia Molecolare, Università di Padova 2011/2012 Calcoli con Fogli Elettronici Applicazioni nella statistica descrittiva Ivilin Stoianov, Alessia Ceccato [email protected] • • • • Introduzione Struttura ed inserimento dati Elaborazione dei dati Statistica descrittiva Stoianov, Ceccato [email protected] 2 Che cosa è un Foglio di Calcolo ? • Un foglio di calcolo / foglio elettronico / spreadsheet e' un programma che permette di: – inserire – elaborare – visualizzare vari tipi di informazioni digitali (dati) in una tabella. • Le applicazioni piu' diffuse Calc(Open Office), Excel(Microsoft Office) Stoianov, Ceccato [email protected] 3 Un Foglio di Calcolo • Struttura: – un file di tipo foglio di calcolo contiene una o più tabelle (fogli). – una tabella consiste in una griglia di celle. – la cella è il contenitore principale d’informazione digitale (dati) di diversi tipi (numerici, testuali, formule). • L’informazione: – viene inserita nelle celle; – elaborata (automaticamente) tramite calcoli (formule); – visualizzata in modo testuale, numerico o grafico. Stoianov, Ceccato [email protected] 4 www.openoffice.org OpenOffice è un pacchetto gratuito di applicazioni orientati all' Elaborazioni dei Dati e Documenti nel ufficio e la casa • • • • • Elaborazione testi Foglio di calcolo Presentazioni Grafica vettoriale Archiviazione dati Aprite un foglio di calcolo: Menu d'avvio: Applicazioni → OpenOffice → OpenOfficeCalc Stoianov, Ceccato [email protected] 5 OpenOffice-Calc Barra-Titolo HELP ? barra MENU barre degli strumenti: operazioni frequenti indirizzo delle celle attive Barra delle formule indice colonna cella attiva indice riga griglia di celle Nome tabelle Menù contestuale (mouse-tasto destro) Scroll-bars Stoianov, Ceccato [email protected] Barra stato 6 Esercizio • • • • Esplora il menu Creare un nuovo file – foglio di calcolo Salvare il file con il nome calcolo1.ods Esplorare il menu HELP (GUIDA) Stoianov, Ceccato [email protected] 7 • • • • Introduzione Struttura ed inserimento dati Elaborazione dei dati Statistica descrittiva Stoianov, Ceccato [email protected] 8 Struttura di un foglio di calcolo • un foglio di calcolo è una griglia composta da celle • ciascuna cella è identificata (riferita) da una colonna (A, B, …) e una riga (1, 2, …) (Esempio: cella D8) • I riferimenti corrispondono agli indirizzi nella memoria e permettono calcoli automatizzati (programmi) D8 Stoianov, Ceccato [email protected] 9 Valori • una cella può essere vuota oppure contenere un valore Stoianov, Ceccato [email protected] 10 Tipi di Valori • le celle B1, B3, C3 contengono dei valori di tipo testuale • la cella C1 contiene un valore di tipo data • le celle B4, B5, B6 e C4, C5, C6 contengono dei valori di tipo numerico Stoianov, Ceccato [email protected] 11 Interpretazione dei Valori I valori possono avere diversi interpretazioni: • Contenuto – – – – – Numero Data/ora Testo Logico Formula interi (4), reali (3,14), valuta (12$), percentuali (35%) (12 Aprile 2004) scrivere: 12/04/2004 Corso di informatica (Vero / Falso). espressioni (matematici, testuali, …) su altre celle =SUM(A3:A10) • Interpretazione: (con tasto-destro-mouseFormato Celle) – Generale, numero, frazione, valuta, data, ora, … 2007 1 numero o anno numero, valore logico, testo Stoianov, Ceccato [email protected] 12 Esercizio • Nel foglio di calcolo che avete gia' aperto – copiare i valori (testi,numeri e dati) che sono riportati qui sotto facendo attenzione che siano interpretati correttamente dal foglio di calcolo – colorare le celle che contengono dei numeri – allineare al centro tutti i valori – disegnare tutti i bordi delle celle piene e cambiare lo stile del testo Stoianov, Ceccato [email protected] 13 Intervalli • una singola cella viene riferita con colonna e riga (es: A3) • possiamo riferire anche a (compatti) intervalli di celle. • Esempi: B2:B10, B12:E12, D3:F8 Stoianov, Ceccato [email protected] 14 Insiemi di Intervalli • Un intervallo è composto da un compatto rettangolare insieme di celle. • E’ possibile riferirsi anche a insiemi di intervalli • Ad esempio: (intervalli disgiunti) C2:C10;D4:F10 Stoianov, Ceccato [email protected] 15 Selezione di celle • Per selezionare una cella basta cliccarci sopra • Per selezionare un intervallo di celle ci si deve posizionare all’angolo in alto a sinistra del intervallo e tenendo premuto il tasto sinistro del mouse si arriva all’angolo in basso a destra • In modo alternativo ci si può spostare con i tasti cursore tenendo premuto lo SHIFT • Si può anche selezionare una parte non rettangolare o un’intera riga o colonna •Per selezionare due cose non adiacenti usare il tasto Ctrl Stoianov, Ceccato [email protected] 16 Inserimento e eliminazione di celle, righe e colonne • E’ possibile inserire una cella nel punto individuato dal cursore con Inserisci|Celle • Ci sono due possibilità: - tutte le celle di quella riga verranno spostate a destra - tutte le celle di quella colonna verranno spostate in basso • Allo stesso modo è possibile eliminare la cella corrente con Modifica|Elimina: tutte le celle di quella riga verranno spostate a sinistra oppure tutte le celle di quella colonna verranno spostate in alto • E’ inoltre possibile inserire o eliminare intere righe o colonne Stoianov, Ceccato [email protected] 17 Inserimento di dati • • • • • Foglio di lavoro: in uno già aperto o creare un nuovo (File > Nuovo) Tabella: selezionare una tabella o creare nuove. Inserimento semplice: (i) selezionare una cella; (ii) scrivere l’informazione. Inserimento di una serie: (i) scrivere due elementi; (ii) selezionarli ed estendere il gruppo muovendo il cursore (di forma “+” ). Modifica dei dati: scrivere nuovi valori, oppure fare un doppio click sulla cella (o F2) e modificare il contenuto. • Copia & Incolla, Spostare. • Cancellare un valore: mouse-tasto destro Cancella contenuto. • Eliminare una cella: mouse-tasto destro Elimina; segue domanda come spostare le celle intorno. • Menù contestuale: per ogni tipo di attività, le operazioni spesso eseguite sono accessibili da un menu contestuale (premere il tasto destro del mouse). Stoianov, Ceccato [email protected] 18 Nominare i dati • Nominare dei dati in una colonna – – Di solito i dati in un vettore-colonna vengono nominati nella prima riga. Questo nome viene usato per varie elaborazioni (es., grafici). Studente Eta 1 15 2 14 3 16 4 15 5 14 classe 8 ore 6.74 7.98 6.03 7.56 6.14 classe 9 ore 8.31 7.72 8.15 8.45 7.50 Stoianov, Ceccato 10 8 6 4 2 0 Studente classe 8 ore classe 9 ore 2 [email protected] 4 19 Esercizio • • • • • Creare un nuovo foglio di lavoro Determinare tre colonne per inserire il nome, l’età, e data di nascita di 10 vostri amici e nominare le colonne (nella prima riga) (ad esempio, colonne A, B, C; nomi: “Nome”,”Età”,”Data”) Inserire i dati nelle tre colonne, cominciando dalla seconda riga Salvare il file come Nomi.ods Applicare diverse formattazioni (allineamento, colore, bordi, stile) per le diverse colonne Stoianov, Ceccato [email protected] 20 • • • • Introduzione Inserimento e struttura dati Elaborazione dei dati Statistica descrittiva Stoianov, Ceccato [email protected] 21 Calcoli con Formule Cosa servono: Eseguire calcoli su dati (o sul risultato di altre formule). Inserimento: Supponiamo che il risultato singolo numero/testo (i) selezionare una cella, (ii) scrivere ‘=‘ e la formula; (iii) Invio Esempio: =somma(A1:A10)<Invio> SUM(A1:A10) Si nota: - I calcoli vengono eseguiti automaticamente. il risultato compare sulla cella selezionata. la formula compare sulla barra delle formule. per copiare la formula: (1) selezionare; (2) copia; (3) Incolla per copiare solo i risultati: (3’) (menu)ModificaIncolla SpecialeValori. modificare una formula: doppio click. Stoianov, Ceccato [email protected] 22 Riferimento dei dati Esempi - una cella: <colonna><numero_riga> B3 - vettore-riga: <rif_cella_sinistra>:<rif_cella_destra> B1:D10 - vettore-colonna: <rif_cella_in_alto>:<rif_cella_in_basso> B1:B10 - intera riga: 1:1 - intera colonna: <colonna>:<colonna> B:B - tabella: B1:D10 - gruppo di celle: <rif_cella1>;<rif_cella2>; … <num_riga>:<num_riga> <cella_sx_in_alto>:<cella_dx_in_basso> Stoianov, Ceccato [email protected] B1;F4;B7 23 Calcoli semplici N1 N2 5 10 • • • • Cominciamo sempre con ‘=‘ operazioni di base: +,-,*,/, priorità delle operazioni:* / > + cambiare priorità: con parentesi ( ) "=A2*(3+B2)" X 1 2 3 Stoianov, Ceccato Operazione "=A2+B2" "=A2-B2" "=A2*B2" "=A2/B2" Y Operazione 3 "=A10:A12+B10:B12" 2 usa Maiusc-Ctrl-Invio 1 [email protected] Risultato 15 -5 50 0.5 65 X+Y 4 4 4 24 Formule con funzioni (numeriche) • Esiste una grande varietà di funzioni (numeriche, testuali, ecc.). es. radice quadrato radq(B2), media media(A1:A10) • SQRT(B2) AVERAGE(A1:A10) Per inserire una funzione: (1) selezionare una cella (o più celle se il risultato non è scalare); (2) scrivere ’=‘; (3a) scrivere il nome della funzione più i suoi parametri, oppure (3b) fare click su ‘fx’ e scegliere la funzione; dopo scegliere gli argomenti. • Alcune delle principali funzioni numeriche: – – – – – – – sen(), cos(), exp(), potenza(), radq() casuale(), int(), segno(), ass() somma(), media(), mediana(), var(), dev.st(), conta.numeri() min(), max() sin(), cos(), exp(), power(), sqrt() rand(), int(), sign(), abs() sum(), average(), median, mode(), var(), stdev(), count() Stoianov, Ceccato [email protected] 25 Funzioni di testo Testo: una sequenza di lettere, numeri, simboli. – Inserimento di testo nelle celle: ‘abc , ’12baba – testo-costante (in formule): “abc” Alcune funzioni con parametri testuali: • lunghezza(t) restituisce il numero di simboli in una stringa t. • concatena(t1;t2;t3;..) unisce diversi elementi di testo in un elemento • sinistra(t;n) restituisce i primi n simboli a sinistra di un testo t. • stringa.estrai(t;p;n) restituisce n simboli di un testo t, cominciando da p • destra(t;n) restituisce i primi n simboli a destra di un testo t. • identico(t1;t2) verifica se due testi t1 e t2 sono uguali. • trova(t;T) rileva un testo t all'interno di un altro testo T. • testo(n;form) converte il numero n in testo, usando il formato form • valore(t) converte un testo t in un numero. • len(), concatenate(), left(), mid(), right(), exact(), text(), value() Stoianov, Ceccato [email protected] 26 Calcoli logici • I valori logici: VERO e FALSO (oppure, 1 e 0) • Operazioni che producono un risultato logico: =, >, >=, <, <=, <>, • Funzioni logiche: e(a;b), o(a,b), non(a) • Funzioni condizionali: se(condizione; se_vero; se_falso) IF() dipendente dal valore condizione, restituisce il valore se_vero / se_falso Si nota: se_vero o se_falso possono essere altre funzioni condizionali. • Una generalizzazione della funzione se() scegli(indice; val1; val2; val3; …) ???? dipendente dal valore indice, restituisce il valore val1 o val2, o val3 … Stoianov, Ceccato [email protected] 27 Calcoli vettoriali Scopo: identici calcoli su ciascun elemento di un insieme di dati (di solito, vettore). Inserimento: 1. Determinare i dati da elaborare e le celle per il risultato. 2. Inserire la formula che calcola il primo elemento del risultato. 3. Copiare la formula nelle celle che contengono il resto del risultato. Si nota: la formula può essere copiata con Copia – Incolla, oppure “trascinando” la cella. Fate una prova. Stoianov, Ceccato [email protected] 28 Riferimenti assoluti e relativi Il sistema di riferimenti assoluti e relativi serve per l’automatizzazione della scrittura di operazioni su vettori / matrici Riferimenti assoluti e relativi: - relativo: il solito <colonna><riga> (es.: A1) - assoluto: con un prefisso $ davanti la colonna o la riga (es: A$1) Un riferimento copiato: - cambia, se è relativo - rimane costante se è assoluto (A1) ($A$1) Utilizzo: - I riferimenti assoluti indicano valori scalari, costante, ecc. - I riferimenti relativi indicano gli elementi delle matrici. Stoianov, Ceccato [email protected] 29 Riferimenti assoluti e relativi (2) Si ricorda: i riferimenti assoluti ($A$1) non cambiano i riferimenti relativi (A1) cambiano: Esempi: • A1 cambia la colonna (es. A->B) e la riga (es., 1->2) se viene trascinato su una riga o colonna. • $A1 (la colonna e' fissa) cambia solo la riga se viene trascinato in una riga • A$1 (la riga e' fissa) cambia solo colonna se viene trascinato in una colonna • $A$1 non cambia in nessun tipo di trascinamento Stoianov, Ceccato [email protected] 30 Esercizio • Calcoli su dati scalari: – inserire in A1: “=2+3” – inserire in: A1: 2, A2: 3, A3: “=A1+A2” • Aritmetica su due vettori: – Preparare 2 colonne con intestazione x e y (X=1,2..10, Y=1,2..10) – Calcolare le seguenti operazioni vettoriali: x+y, x-y, x*y, ogni operazione in una colonna indicando in ogni colonna il tipo di operazione effettuata • Aritmetica su un vettore e una costante: – Preparare 1 colonna X=1,2..10, e una costante p=2,5 – Calcolare la potenza X^p – Cambiare p e osservare il risultato • Formule con funzioni numeriche sui valori di un vettore: – Preparare argomento X: [9,25,36,81] – Calcolare: radq(X) sqrt() – S2_Math.ods: somma delle colonne mult_cor, sub_time, read_time Stoianov, Ceccato [email protected] 31 Esercizio (formule testuali) • Scrivere in due colonne intitolate `Nome', e `Cognome' il nome e il cognome di 10 persone • Concatenare il Nome e Cognome • Convertire il testo in maiuscolo Stoianov, Ceccato [email protected] 32 • • • • Introduzione Inserimento e struttura dati Elaborazione dei dati Statistica descrittiva Stoianov, Ceccato [email protected] 33 Distribuzioni di probabilità empirica 1) OSSERVAZIONI campione X: scala di misura Y N osservazioni {x1,x2 … xN} K livelli [y1 … yK] Esempio: il sesso {M,F} di 30 persone: [M,F,F,F,F,M,F,M,M,F,M,M ...] 2) NUMERO di OSSERVAZIONI frequenza fi del livello yi∈Y nel campione X: il numero di osservazioni di yi nel X probabilità empirica pi di un livello yi∈Y nel campione X: pi= fi / N 3) DISTRIBUZIONE del NUMERO di OSSERVAZIONI distribuzione di frequenze F(y) nel campione X: l’insieme di frequenze fi di ciascun livello yi ∈Y nel campione X distribuzione di probabilità empirica P(y) nel campione X: l’insieme di probabilità empirica pi di ciascun livello yi ∈Y nel campione X [email protected] 34 Frequenze [email protected] 35 Categorie abbinate • Se abbiamo dati numerici con tanti livelli, rischiamo di avere pochi osservazioni per ciascun livello … Che cosa fare ? • Soluzione: definire una scala S derivata dalla scala originale Y,con un limitato numero di livelli (bin) {s1, s2, … sM}. • Nella nuova scala S, ciascuno livello si raggruppa livelli {yi1, yi2, … sik} • In una scala ad intervalli (ad esempio tempo, spazio, ecc), il numero di livelli raggruppati in ciascun nuovo livello si deve essere uguale, per rispettare la omogeneità della scala originale. • ESEMPIO: Raggruppare i 1000 livelli 0 – 1000 mm in una scala con 10 livelli. [email protected] 36 Distribuzioni di frequenze di dati numerici nei Fogli Elettronici Se abbiamo dati X di tipo numerico (scala ad intervalli), possiamo utilizzare la funzione frequency() per calcolare la distribuzione dei dati X. 1. 2. 3. Avendo le osservazioni X in una colonna (es.: B2:B21) Inserire i livelli S in un’altra colonna (es: D2:D11) Applicare la funzione frequency(vettore_osserv.; vettore_categorie) • Selezionare una colonna per il risultato (es., E2:E11) • Scrivere ‘=frequency(’ • Selezionare / riferire le osservazioni; scrivere ‘;’ • Selezionare / riferire le categorie; scrivere ‘)’ • Premere ‘Ctrl-Maiusc-Invio’ (solo ‘Invio’ calcola una frequenza solo!!) Si nota: – I livelli indicati definiscono una nuova scala S per i dati. – La frequenza fi di ciascun livello si riporta il numero di osservazioni con valori (si-1 ... si]. [email protected] 37 Distribuzioni: calcolo e rappresentazione grafico Grafici: 1. Pochi livelli: Istogramma (diagramma a barre) Nome Ivan Sara Tomi Piero Linda Maria Stefano Leo Boris sesso 1 2 1 1 2 2 1 1 1 Sesso F p() 1 6 0.6667 2 3 0.375 =FREQUENZA(B2:B10;D2:D3) =E2/CONTA.NUMERI(B2:B10) 7 6 F 5 4 3 2 1 0 1 2. Tanti livelli: Grafico a linea Nome Ivan Sara Tomi Piero Linda Maria Stefano Leo Boris RT 380 430 515 475 460 560 420 510 497 [email protected] RT 400 450 500 550 600 F 1 2 3 2 1 2 p() 0.1111 0.2222 0.3333 0.2222 0.1111 =FREQUENZA(B2:B10;D2:D6) 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 p() 38 Esercizio: probabilità empirica • File S3_RT.xls • • • Calcolare le frequenze degli RT (bin a distanza di 50) Calcolare la distribuzione di probabilità empirica Fare grafico della distribuzione di probabilità. [email protected] 39 Tendenze centrali 1. Se abbiamo dati in una colonna (es.: B2:B21) 1. La media = somma divisa per il numero dei punti. - selezionare una cella per il risultato (di solito sotto i dati) (es: B23) - scrivere ‘=sum(’; - selezionare le osservazioni; ‘)’; Premere ‘Invio’ - in un’altra cella, dividere la somma per il numero dei dati ( count() ) 3. Mediana o moda: ordinare i dati e trovare: - la categoria centrale (mediana) - più-frequente (moda) (oppure utilizzando distribuzioni di frequenze: la categoria più numerosa) [email protected] 40 Variabilità • Range / Intervallo (distanza tra i valori estremi): • Somma dei quadrati delle distanze dalla media (scarti) SS X = ∑ ( xi − X ) • Varianza della popolazione (la media degli scarti2): σ 2X • ( x −X) ∑ = i n 2 ( x ∑ = 2 i − 2xi X + X 2 n ) = ∑x 2 i n σ2 X ( x −X) ∑ = 2 i n −X2 = X2−X2 Deviazione standard (Scarto quadratico medio): [email protected] max(X) – min(X) σ X = σ 2X 41 2 Calcolo della varianza / dev.st I. La varianza (della popolazione): ̄ 2 ∑ ( xi− X ) Algoritmo A: la media del quadrato delle scarti Var X = n 1. Calcolare la media M 2. Calcolare gli scarti dalla media Di=(Xi-M) 3. Calcolare il quadrato degli scarti Di2=Di*Di. 4. Calcolare la media del quadrato delle distanze var = media(Di2). Algoritmo B: la diff. tra la media dei quadrati e il quadrato della media: 2 2 1. Calcolare la media M1 X 2. Calcolare i quadrati: Xi2 3. Calcolare la media dei quadrati M2 4. Calcolare il quadrato della media M1*M1 5. Calcolare la differenza var=M2-M1*M1. ̄ Var = X − X II. La dev. standard: dst=sqrt(var) [email protected] σ = √Var X X 42 Covarianza • Due variabili aleatorie (stocastiche) X e Y possono co-variare. • La covarianza – la media del prodotto di X e Y normalizzati con loro medie – esprime il grado di dipendenza lineare tra X e Y: (per.es.: studenti con voto alto in Matematica hanno alto voto in Informatica.) Cov( X , Y ) = E [ ( X − E ( X ) ) ( Y − E ( Y ) ) ] = E ( XY ) − E ( Y ) E ( X ) – – • se positivo: al crescere di x in media cresce anche y, se negativo al crescere di x in media decrescere y. Si nota:la covarianza di una variabile con se stessa = la varianza ! Algoritmo A: 1. Calcolare le medie Mx e My 2. Calcolare il prodotto degli scarti Di = (Xi-Mx) (Yi-My) 3. Calcolare la media Cov = media(Di). Algoritmo B: 1. Calcolare i prodotti XiYi 2. Calcolare le medie Mx, My, Mxy 3. Calcolare la differenza Cov=Mxy - Mx My. [email protected] 43 Funzioni per la statistica descrittiva Funzione Sintassi (ad esempio, per le osservazioni in A2:A150) • MEDIA AVERAGE(A2:A150) • MEDIANA MEDIAN(A2:A150) • VARIANZA della popolazione • SCARTO quadr.med. (pop.) STDEV(A2:A150) • COVARIANZA tra 2 campioni COVAR(A2:A150; B2:B150) VAR(A2:A150) [email protected] 44 Esercizio: medie e variabilità • File dati: S3_RT calcolare con e senza funzioni statistiche: la media, la varianza, e la dev.st. dei RT • File dati: S2_Math calcolare covarianza tra add_time, sub_time [email protected] 45