Corso di Analisi dei Dati Esercitazione R n. 1

Documenti analoghi
Introduzione a R. Monica Marabelli. 30 Ottobre 2015

Introduzione al software R

Cultura Tecnologica di Progetto

Claudio Locci - Vincenzo Rundeddu

STATISTICA LAB. Analisi dei dati con R - Ex 2. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule

Lena Cota Guido Corso di Informatica - II livello. Excel 2003 Formule. Imparare a usare le formule con la pratica

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Foglio Elettronico Lezione 1

3. Matrici e algebra lineare in MATLAB

Introduzione a Matlab

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

L INTERFACCIA GRAFICA DI EXCEL

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi

SISTEMA GESTIONE TOMBINI

U.T.E Università della Terza Età

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

I Fogli Elettronici (Microsoft Excel)

Introduzione a R. Silvia Parolo. 14 November 2014

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Formule e funzioni. Manuale d uso

Lezione precedente. D. Fioredistella IEZZI

CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Modulo: Elementi di Informatica

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Variabile, costante ed espressione

INTERVENTI DI RIDUZIONE DEL RISCHIO SISMICO. DISCIPLINATI DAL PROGRAMMA O.C.D.P.C. n. 52 del 20/02/2013

Data Import pulizia dati e Probabilità. Renato Mainetti

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

Breve introduzione al linguaggio R

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

MATRICI (ARRAY) IN MATLAB/OCTAVE

A = Quindi > b=a(:) b =

Excel 2003 Operazioni di base

Applicazioni statistiche e utilizzo del package statistico Spss - 3

Introduzione al Foglio Elettronico

Variabili e Istruzioni

CORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo

Appunti sui Fogli Elettronici. Introduzione. D. Gubiani. 19 Luglio 2005

Microsoft Excel. Introduzione. Massimo Marchi - marchi.usr.dsi.unimi.it/ 1

Fogli di Calcolo. Corso di Informatica. Fogli di Calcolo. Fogli di Calcolo. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Operazioni preliminari: creare una cartella in Documenti

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Data Import e Probabilità. Renato Mainetti

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Foglio elettronico Microsoft Office Excel 2003

Modulo III - Creazione di documenti, presentazioni e report

Lab.1 - Excel. Prof. De Michele e Farina

EXCEL: FORMATTAZIONE E FORMULE

Inoltrare un messaggio.

Calcolare con il computer: Excel. Saro Alioto 1

Esercitazione di laboratorio di Economia aziendale

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Piccolo vademecum sull uso efficiente di Excel

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

24 ore (a partire da oggi). In quest aula (P2). Distribuzione ore: questa settimana, poi 2 ore a settimana

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Aule. La classe in questo caso è composta solamente dal nome. Inserire quindi tale attributo all'interno della casella di testo indicata.

FOGLI DI CALCOLO (Uno strumento per fare i conti)

14Ex-Cap11.qxd :20 Pagina Le macro

La Back Office Console consente di costruire lo scheletro degli schema.

EUROPEAN COMPUTER DRIVING LICENCE SYLLABUS VERSIONE 5.0

STATISTICA LAB. Analisi dei dati con R - Ex 1. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

ScuolaWEB - Registri. Utilizzo procedura «ScuolaWEB» per l accesso ai registro elettronici scolastici con procedura da WEB (internet)

PON Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire.

Modulo 4 Esercitazione Nr 2 Office 2007

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Uso di base dell ordinamento di dati in Microsoft Excel

Modulo III - Introduzione ad R

EXCEL. Marco Lucifora

Elementi Elem d enti i d I i nf I orm nf a orm tic a a tic a e Applicazioni Numeriche T I File in Octave

3. Le routine evento in Access 2000/2003

EXCEL: FORMATTAZIONE E FORMULE

Introduzione al software R

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

SoftingCheckList. Argomento: BUSINESS Stampa bilancio riclassificato. La stampa si lancia dal comando 2-2-9

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

# Importazione da file esterni - informazioni generali

Come calcolare i principali riassunti statistici di un insieme di dati

La stampa unione in Word 2007

Biblioteca di Cervia I FOGLI DI CALCOLO

Phpmyadmin. Creazione Database

Istruzioni per creare un file PDF/A

Istruzioni per il caricamento di un file CSV. Avvertenze generali. Struttura e formato del file CSV

Imparare a utilizzare le formule e le funzioni

Istruzioni per l analisi in componenti principali con R

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

ISCRIZIONI. Impostazioni form ECDL

Il foglio elettronico

Cenni sull utilizzo dei fogli elettronici

Università di L Aquila

Analisi statistica e matematico-finanziaria II. Alfonso Iodice D Enza Università degli studi di Cassino e del Lazio Meridionale

Sas OnDemand for Academics & SAS e-learnings. Metodi Quantitativi per Economia, Finanza e Management

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

Filtri. Microsoft Access. Filtri. Filtri

Transcript:

Corso di Analisi dei Dati Esercitazione R n. 1 30 marzo 2006 Il pacchetto R è un programma statistico liberamente scaricabile dal CRAN (http//www.r-preject.org) che fornisce un ambiente integrato che permette di elaborare dati, eseguire calcoli ed effettuare rappresentazioni grafiche. Le sue principali caratteristiche sono: insiemi di strumenti per l analisi statistica dei dati; un linguaggio pensato per descrivere modelli statistici; molteplici tipologie di rappresentazioni grafiche dei dati; è un linguaggio object-oriented; è interamente gratuito ed open source, ovvero ciascuno può avere accesso al codice interno di R e può proporne modifiche. Tipicamente le risorse di R sono fruibili mediante righe di comando inserite in quella che è denominata R-console, in quanto i menu disponibili consentono di effettuare solo poche e ricorrenti operazioni, come aprire o salvare file. Recentemente è stata realizzata la versione italiana di R. Per tale motivo nel seguente paragrafo saranno illustrati sia i comandi della versione inglese che quelli della versione italiana (forniti tra parentesi ed in rosso) 1 Come organizzare il proprio lavoro L ambiente R consente di salvare tutti i dati importati, gli oggetti creati e molte altre informazioni utili, in un area di lavoro denominata workspace. Per salvare la propria workspace in una cartella, dal menu File selezionare l opzione Save Workspace... (Salva area di lavoro...) e così accedere alla cartella desiderata. Esempio: Se desidero salvare la mia workspace con il nome Esercitazione1 nella cartella c:\analisideidati, dal menu File, Save Workspace... (File, Salva area di lavoro...) accedo a c:\analisideidati ed inserisco il nome del file Esercitazione1. Una conferma dell operazione effettuata è possibile averla dalla Console di R nella quale è presente la seguente linea di comando: > save.image("c:/analisideidati/esercitazione1.rdata") Ho così creato una workspace con questo percorso c:\analisideidati\esercitazione1.rdata alla quale posso accedere in successive sessioni di lavoro per utilizzare le informazioni in essa contenute. 1

Per accedere ad una workspace precedentemente salvata selezionare dal menu File l opzione Load Workspace... (Carica area di lavoro...) ed accedere alla cartella desiderata. Cliccare sul file con estensione.rdata e premere Apri. Anche in questo caso l eco dell operazione effettuata tramite il menu sarà visibile dalla Console di R. In ogni workspace sono presenti gli oggetti creati durante le sessioni di lavoro. Per visualizzarne l elenco di tali oggetti usare il comando: ls() 2 Tipologie di dati Le tipologie di dati supportate da R sono: character: stringhe di caratteri; numeric: numeri reali integer: numeri interi eventualmente con segno; logical: elementi che assumono solo due valori TRUE o FALSE complex: numeri complessi. 3 Sintassi di base Il prompt di R è dato dal seguente simbolo > dopo il quale è possibile fornire al sistema linee di comando, operazioni ed altro. I simboli usati per la 4 operazioni aritmetiche sono: +, -, *, / e pertanto con il loro utilizzo si possono effettuare le più articolate operazioni e visualizzare a video il risultato. Ad esempio: > 23*45/2+(21-5*(3+11))/14 [1] 514 In molti casi però è utile associare il risultato di un operazione ad una variabile creando quindi un oggetto per l ambiente R. Il simbolo usato per creare un oggetto è <-. Ad esempio se il risultato della precedente espressione numerica lo voglio salvare nell oggetto x: x<-23*45/2+(21-5*(3+11))/14 ed il valore di x posso visualizzarlo digitando x in corrispondenza del prompt e premendo invio: [1] 514 Il simbolo [1] alla sinistra di 514 sta ad indicare che il sistema identifica uno scalare come un vettore (di lunghezza 1). Quando invece si vuole creare un vettore di lunghezza maggiore di 1 si utilizza il comando di concatenazione c() nel seguente modo: x<-c(2,4,6,8) 2

dove x è un vettore di lunghezza 4 di elementi 2,4,6,8. Tale operatore si può impiegare anche per concatenare modalità di variabili qualitative: x<-c("a", "B", "C") dove le stringhe di caratteri devono essere incluse tra virgolette. Si ottiene così: [1] "A" "B" "C" Si fa inoltre notare che in fase di assegnazione di nomi agli oggetti creati, l ambiente R è case sensitive quindi ad esempio l oggetto x è diverso da X. 4 Vettori e Matrici 4.1 Vettori La procedura generalmente utilizzata per creare vettori di lunghezza n è la seguente: x<-vector(mode="numeric", length=10) dove gli argomenti tra le parentesi indicano che il vettore assume valori reali ed è di lunghezza 10 e sarà inizializzato con tutti zeri: [1] 0 0 0 0 0 0 0 0 0 0 Se vogliamo assegnare a questo vettore una sequenza di numeri interi da 1 a 10: > y<-seq(1,10) <-y [1] 1 2 3 4 5 6 7 8 9 10 Per accedere a singoli elementi del vettore si usa il simbolo [ ] all interno del quale si inserisce il numero corrispondente alla posizione desiderata. Ad esempio nel precedente vettore x [4] [1] 4 fornisce a video il valore assunto da x nella posizione 4. Posso così decidere di modificarne il contenuto con: x[4]<-160 [1] 1 2 3 160 5 6 7 8 9 10 Il comando length(x) fornisce la lunghezza del vettore x: > length(x) [1] 10 mentre il comando t() traspone un vettore colonna in un vettore riga. 3

4.2 Matrici Un oggetto di tipo matrice è creato con il comando: > X<-matrix(x, ncol=5, nrow=2) dove in X, di dimensioni (2 5), sono inseriti i dati presenti nel vettore x nel seguente modo: > X [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10 Se invece si desidera che i dati siano inseriti per righe: > X<-matrix(x, ncol=5, nrow=2, byrow=t) > X [,4] [,5] [1,] 1 2 3 4 5 [2,] 6 7 8 9 10 La dimensione della matrice è possibile conoscerla con il comando dim(): > dim(x) [1] 2 5 dove il primo numero indica il numero di righe ed il secondo il numero di colonne. Come per i vettori, anche per le matrici la trasposta è ottenuta con il comando t(): > t(x) [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 mentre l inversa di una matrice quadrata si genera con il comando solve(): > Y<-matrix(c(2, 3, 7, 9, 15, 4, 9,4,1), ncol=3, nrow=3) > solve(y) [1,] 0.001628664-0.04397394 0.161237785 [2,] -0.040716612 0.09934853-0.030944625 [3,] 0.151465798-0.08957655-0.004885993 con c(2, 3, 7, 9, 15, 4, 9,4,1) il vettore dei dati inseriti in tabella. 4.3 Operazioni con Matrici e Vettori La sintassi utilizzata per la somma e la sottrazione di matrici e vettori non si differenzia dagli operatori matematici presentati in precedenza. Quindi la sottrazione usa il simbolo -, ad esempio: 4

> X<-matrix(c(3,1,6,8,10,12,3,11,7), ncol=3, nrow=3) > Y<-matrix(c(2, 3, 7, 9, 15, 4, 9,4,1), ncol=3, nrow=3) > Z<-X-Y > Z [1,] 1-1 -6 [2,] -2-5 7 [3,] -1 8 6 mentre la somma + : > W<-X+Y > W [1,] 5 17 12 [2,] 4 25 15 [3,] 13 16 8 Il prodotto presenta invece delle differenze in quanto l utilizzo del simbolo * non sempre è opportuno. Dati due vettori x<-c(2,5) ed y<-c(1,2), il prodotto x*y dà origine a: *y [1] 1 10 dove la moltiplicazione implica il prodotto membro a membro dei termini del vettore. Se invece si desidera calcolare il loro prodotto scalare, il simbolo di moltiplicazione diventa %*%, infatti: %*%y [,1] [1,] 11 Una simile situazione si ha con le matrici, dove ad esempio date due matrici quadrate X ed Y: > X [1,] 3 8 3 [2,] 1 10 11 [3,] 6 12 7 > Y [1,] 2 9 9 [2,] 3 15 4 [3,] 7 4 1 il prodotto è: > X*Y [1,] 6 72 27 [2,] 3 150 44 [3,] 42 48 7 mentre il prodotto propriamente detto tra le due matrici conformabili X ed Y si effettua con l operatore %*% > X%*%Y [1,] 51 159 62 [2,] 109 203 60 [3,] 97 262 109 5

Infine il prodotto XY 1 si calcola con: > X%*%solve(Y) [1,] 0.1335505 0.39413681 0.2214984 [2,] 1.2605863-0.03583062-0.2019544 [3,] 0.5814332 0.30130293 0.5618893 5 Il dataframe È lo strumento più importante per la gestione e l analisi dei dati. Il dataframe è una matrice di dati propriamente detta in cui le righe corrispondono alle unità di rilevazione e le colonne alle variabili in esame. Un dataframe è costruito utilizzando con il comando data.frame() nel quale possono essere inserite sia variabili che mutabili. Ad esempio, si supponga di disporre dei dati rilevati su 5 individui, ai quali è richiesta la marca di auto posseduta ed il numero di km annui percorsi. Con tali informazioni è possibile costruire il seguente dataframe: > marca<-c("fiat", "Ford", "Lancia", "Citroen", "Lancia") > Km<-c(10000, 14500, 50000, 25000, 18000) > dati.osservati<-data.frame(marca, Km) > dati.osservati marca Km 1 Fiat 10000 2 Ford 14500 3 Lancia 50000 4 Citroen 25000 5 Lancia 18000 al quale si può aggiungere la variabile Professione: prof<-c("insegnante", "Operaio", "Rappresentante", "Impiegato", "Disoccupato") con il comando: dati.osservati$professione<-prof e così ottenere: > dati.osservati marca Km Professione 1 Fiat 10000 Insegnante 2 Ford 14500 Operaio 3 Lancia 50000 Rappresentante 4 Citroen 25000 Impiegato 5 Lancia 18000 Disoccupato Per assegnare ad un nuovo oggetto i valori di una variabile del dataframe si usa il comando mm<-dati.osservati$marca dove il simbolo $ deve precedere il nome della variabile di interesse. Quindi il nuovo oggetto mm sarà: > mm [1] Fiat Ford Lancia Citroen Lancia È inoltre possibile accedere al dataframe per inserire i dati manualmente con il comando fix(). Infatti inserendo nella console il comando fix(dati.ossevati) si accede ad una sorta di foglio elettronico disponibile in scrittura. 6

6 Importazione dei dati da file In molti casi i dati da inserire nel dataframe sono già presenti in un altro file. In tal caso se si tratta di una matrice di dati, sarà possibile importarla con il comando read.table(). Ad esempio se il file nel quale sono disponibili i dati è denominato Turismo.txt ed è presente nella cartella c:\analisideidati, la linea di comando diventerà: X<-read.table("c:\\AnalisiDeiDati\\Turismo.txt", header=true, sep="\t") dove l estensione.txt sta ad indicare che si tratta di un file testo. Gli ulteriori argomenti presenti in read.table() dati da header=true e sep="\t" indicano rispettivamente che la prima riga della matrice di dati contiene i nomi delle variabili (ovvero che le colonne hanno un intestazione) e che le colonne della matrice sono separate da tabulazioni. Osservazione Il sistema R consente di importare i dati da file presenti in fogli elettronici creati con Excel, anche se ne sconsiglia altamente il loro impiego. Infatti la presenza di eventuali formule e/o fogli multipli nel foglio elettronico impedisce l importazione dei dati o comunque può comportare una non corretta lettura dei dati in esso contenuti. Per tale motivo è utile convertire il file.xls contenente la matrice di dati in un altro formato che non supporta fogli multipli come ad exempio i file di tipo.csv (comma separated values) o.txt (testo) e successivamente leggere il contenuto del nuovo file con il comando read.table(). 7 Alcune statistiche descrittive Assumiamo che la matrice di dati importata sia composta da X 1, X 2,..., X p variabili osservate su un collettivo di n unità campionarie. È possibile in tal caso presentare alcuni indici statistici per la loro sintesi. Tra questi: il vettore delle medie e la matrice delle varianze e covarianze. Assumendo che le variabili quantitative osservate siano p = 4 e che la matrice di dati X ha dimensione (10 4) ed ha ad oggetto l assunzione media pro-capite giornaliera di proteine in 10 stati europei: Nazioni Carne Uova Latte Pesce Irlanda 13,5 4,1 17,5 4,5 Olanda 7,8 1,6 8,3 1,2 Francia 9,7 2,8 12,5 2,0 Italia 10,6 3,7 25,0 9,9 German 8,4 3,7 11,1 5,4 Grecia 9,5 2,7 33,7 5,8 Portog 18,0 3,3 19,5 5,7 Spagna 10,2 2,8 17,6 5,9 UK 10,1 0,5 8,9 0,2 Belgio 8,9 4,3 19,9 2,1 dove nella prima colonna sono elencate le denominazioni delle unità statistiche. Assumendo che tali dati siano presenti in c:\analisideidati\proteine.txt, è possibile importarli con la linea di comando: prot.dati<-read.table("c:\\analisideidati\\proteine.txt", header=true, sep="\t", dec=",") dove il comando dec="," è stato inserito per chiarire che nel file origine le cifre decimali sono separate dalla virgola. Per eliminare la prima colonna dal dataframe si scriverà nella console in comando: 7

prot.dati$nazioni=null ottenendo così una matrice di dati esclusivamente quantitativi che è possibile modificare o sottoporre ad elaborazione. Si può calcolare la media delle variabili con il comando mean(), calcolare la matrice di varianze e covarianze con \cov() ad esempio: > mean(prot.dati) Carne Uova Latte Pesce 10.67 2.95 17.40 4.27 > cov(prot.dati) Carne Uova Latte Pesce Carne 9.0134444 0.8283333 4.618889 2.532333 Uova 0.8283333 1.3694444 3.882222 1.859444 Latte 4.6188889 3.8822222 61.435556 14.687778 Pesce 2.5323333 1.8594444 14.687778 8.435667 Si possono standardizzare le variabili in esame sottraendo a ciascuna variabile la media e dividendola per la deviazione standard che è derivabile dagli elementi sulla diagonale principale della matrice di varianze e covarianze. In particolare, utilizzando il comando diag() si estraggono gli elementi della diagonale principale di una matrice, quindi: > varianze<-diag(cov(prot.dati)) > varianze Carne Uova Latte Pesce 9.013444 1.369444 61.435556 8.435667 con l oggetto varianze un vettore di dati in cui sono presenti le varianze delle 4 variabili esaminate, mentre il vettore delle medie è: > medie<-mean(prot.dati) > medie Carne Uova Latte Pesce 10.67 2.95 17.40 4.27 I dati standardizzati saranno inseriti in un nuovo dataframe denominato prot.dati.st nel quale le variabili subiranno la seguente trasformazione: Z i = X i µ i σ i i = 1, 2, 3, 4 e pertanto le variabili standardizzate ed il nuovo dataframe saranno: > Carne<-(prot.dati$Carne-medie[1])/sqrt(varianze[1]) > Uova<-(prot.dati$Uova-medie[2])/sqrt(varianze[2]) > Latte<-(prot.dati$Latte-medie[3])/sqrt(varianze[3]) > Pesce<-(prot.dati$Pesce-medie[4])/sqrt(varianze[4]) > prot.dati.st<-data.frame(carne, Uova, Latte, Pesce) dove il comando sqrt(x) fornisce la radice quadrata di x. 8