####################### Il linguaggio R ############################# # Il cancelletto permette di fare commenti



Documenti analoghi
R - Esercitazione 1. Lorenzo Di Biagio dibiagio@mat.uniroma3.it. 30 Settembre Università Roma Tre

APPENDICE III. CONSIGLI PER L USO DEL SOFTWARE R (a cura del Dott. Lorenzo Giolli)

LAB LEZ. 1 STATISTICA DESCRITTIVA CON R

LABORATORIO-EXCEL N. 2-3 XLSTAT- Pro Versione 7 VARIABILI QUANTITATIVE

VARIANZA CAMPIONARIA E DEVIAZIONE STANDARD. Si definisce scarto quadratico medio o deviazione standard la radice quadrata della varianza.

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

Riassunto 24 Parole chiave 24 Commenti e curiosità 25 Esercizi 27 Appendice

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE

Un po di statistica. Christian Ferrari. Laboratorio di Matematica

Introduzione al Foglio Elettronico

Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V

INTR T O R D O UZ U IO I N O E N A 1

ESERCITAZIONE 13 : STATISTICA DESCRITTIVA E ANALISI DI REGRESSIONE

STATISTICA 1, metodi matematici e statistici Introduzione al linguaggio R Esercitazione2:

Dai dati al modello teorico

Analisi Statistica per le Imprese (6 CFU) - a.a Prof. L. Neri RICHIAMI DI STATISTICA DESCRITTIVA UNIVARIATA

Test Excel conoscenze di Base

Grafici delle distribuzioni di frequenza

Analisi di dati di frequenza

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Laboratorio di Statistica con R

Modulo: Fogli elettronici

EPG Metodologia della ricerca e Tecniche Multivariate dei dati. Dott.ssa Antonella Macchia a.macchia@unich.it.

Prova di autovalutazione Prof. Roberta Siciliano

Registratori di Cassa

STATISTICA IX lezione

Probabilità condizionata: p(a/b) che avvenga A, una volta accaduto B. Evento prodotto: Evento in cui si verifica sia A che B ; p(a&b) = p(a) x p(b/a)

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Laboratorio di ST1 Lezione 2

Esercitazione di riepilogo 23 Aprile 2013

Criteri di Valutazione della scheda - Solo a carattere indicativo -

Indici di dispersione

Indice generale. Prefazione...xi. Introduzione...1. Capitolo 1 Tabelle e prospetti...25

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Excel Whatisand whatisnot. Introduzione Funzioni Formule Riferimenti a celle Grafici I problemi ed excel

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Vettori ed assegnamenti in R

PROGRAMMA SVOLTO NELLA SESSIONE N.

Scopo dell esercitazione

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

CURRICULUM SCUOLA PRIMARIA MATEMATICA

Introduzione allo Scilab Parte 3: funzioni; vettori.

Statistica descrittiva

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Analisi della performance temporale della rete

Istituto Comprensivo di Pralboino Curricolo Verticale

USO DI EXCEL CLASSE PRIMAI

Corso Introduttivo all utilizzo di R! Prof.ssa D.F. Iezzi

I grafici. Dati numerici. Grafico

Leggere e scrivere dati da file

ISIS C.Facchinetti Sede: via Azimonti, Castellanza Modulo Gestione Qualità UNI EN ISO 9001 : 2008

Strumenti informatici Realizzare grafici e tabelle con Excel e SPSS

3. Piano di lavoro: - applicazione di alcune semplici procedure, con il confronto tra le diverse soluzioni possibili nell ambito del programma SPSS

Università del Piemonte Orientale. Corsi di Laurea Triennale. Corso di Statistica e Biometria. Introduzione e Statistica descrittiva

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Introduzione al MATLAB c Parte 2

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Traccia delle lezioni svolte in laboratorio Excel Excel 2003 Excel 2010

Utilizzo di Blue s. Avvio di Blue s C A P I T O L O 7. Come avviare il programma e inserire la password

Operazioni fondamentali

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

1) Si consideri un esperimento che consiste nel lancio di 5 dadi. Lo spazio campionario:

i=1 Y i, dove Y i, i = 1,, n sono indipendenti e somiglianti e con la stessa distribuzione di Y.

Funzioni in C. Violetta Lonati

Unità 1 Introduzione al sistema MAPLE

Prof.ssa Paola Vicard

La distribuzione Gaussiana

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Università del Piemonte Orientale. Corsi di Laurea Triennale di Area Tecnica. Corso di Statistica e Biometria. Statistica descrittiva

Lezione 5. Fogli di calcolo

Prof.ssa Paola Vicard

Metodi Matematici e Informatici per la Biologia Maggio 2010

Introduzione al software SAS

INDICE PREFAZIONE VII

ESERCIZI DI STATISTICA DESCRITTIVA

Prof.ssa Paola Vicard

Metodi statistici per l economia (Prof. Capitanio) Slide n. 9. Materiale di supporto per le lezioni. Non sostituisce il libro di testo

LEZIONE n. 5 (a cura di Antonio Di Marco)

CORSO DI STATISTICA (parte 2) - ESERCITAZIONE 6

MANUALE PARCELLA FACILE PLUS INDICE

MATEMATICA CLASSE PRIMA

STATISTICA (A-K) a.a Prof.ssa Mary Fraire Test di STATISTICA DESCRITTIVA Esonero del 2007

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

La gestione dei risultati: ZOTERO, un programma gratuito

Convertitori numerici in Excel

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Indici (Statistiche) che esprimono le caratteristiche di simmetria e

Elaborazione dei dati su PC Regressione Multipla

Corso di Archivistica

Statistica con R. Jody Tubi.

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Corso di. Dott.ssa Donatella Cocca

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni

Tabella 1 Figura 1 Figura 2 Figura 3 Figura 4

Transcript:

################################################################## ## INTRODUZIONE A R ## Materiale di riferimento: Capitolo 1 e Appendice A in ## An introduction to R di W.N. Venables e D.M. Smith ## reperibile al sito http://cran.r-project.org/doc/manuals/r-intro.pdf ## Si veda anche http://cran.r-project.org/doc/contrib/manuale.0.3.pdf ## ################################################################ ####################### Il linguaggio R ############################# # Il cancelletto permette di fare commenti # Il linguaggio R e' un software statistico freeware per manipolazione, analisi e # rappresentazione grafica dei dati. # Consiste principalmente di un linguaggio e di un insieme di circa 2000 # librerie/packages, che lo rendono il software statistico attualmente piu' # completo. # I pacchetti standard sono 8. # E' scaricabile al sito http://www.r-project.org/ # E' un software interattivo, ovvero il comando e' eseguito subito. # I comandi sono funzioni del tipo nomecomando(). # Se si omettono le parentesi R # stampa il contenuto della funzione invece di eseguirla. > # e' il prompt di comando mentre + #indica che un comando non e' stato completato, tipicamente una parentesi #non e' stata chiusa. # I comandi possono essere richiamati usando le frecce verticali # e corretti con quelle orizzontali. # Sono separati da ; o andando a capo. > q() # conclude la sessione e chiude R. # La console R puo' essere salvata in un file cliccando sull'icona # File > Save di File. # Viceversa, File > Source carica il file scelto sulla console # e File > Open lo apre in un'altra finestra. # I comandi nel file 'comandi.r' possono essere eseguiti con > source("comandi.r") > help.start() #apre il manuale di R in formato html > help(sqrt) >?sqrt # aprono la pagina di help della funzione sqrt

#################### R puo' essere usato come calcolatrice #################### # I simboli per le operazioni sono + - * /. # Per l'elevazione a potenza si usa: ** oppure ^. 13*3 2*3^2 (2*3)^2 # Verifica la priorita delle operazioni # I simboli per gli operatori logici sono # < minore di # > maggiore di # <= minore o uguale a # >= maggiore o uguale a # == uguale a #! = diverso da # & AND # OR #! NOT 2*3^2 == (2*3)^2 2*3^2!= (2*3)^2 ##################### Gli oggetti di R ############################### # Le quantita' manipolate e create da R si chiamano oggetti. # Ce ne sono di molti tipi: variabili, vettori, stringhe, funzioni, o strutture # piu' generali create a partire da queste. # Si possono salvare gli oggetti permanentemente quando si chiude la sessione # di lavoro. # Il valore ad un oggetto e' assegnato tramite il simbolo <- oppure =. # Gli oggetti sono richiamati digitando il nome dell'oggetto x<-21 ; y=12 x; y x<-11 # sostituisce il valore 21 con 11 ls() ; objects() # listano gli oggetti disponibili nella sessione corrente rm(x) ; rm(x,y) #cancella gli oggetti indicati se presenti nella sessione

########### Vettori: inserire/generare dati dalla linea di commando ########## # Per creare un vettore generico si usa la funzione c() v<-c() ; v w<-c(-2,-1,0,1,2,3) ; w # e per creare sequenze ordinate equispaziate si possono usare i comandi z<- -2:9 # oppure w<- seq(1,2,0.1) ; w # IMPORTANTE: sui vettori R applica le operazioni logiche ed aritmetiche # componente per componente w+2 w*(w+2) w>1.4 # Estrarre elementi da una lista length(w) w[3] w[3:length(w)] # Notare l'uso di : w[c(3,4,5,6)] # Confrontare con il comando precedente. w[w>1.5] w[w>1.5 & w<1.9] v<- c(2.0, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2) sort( v[v>1.5 & v<1.9] ) # Concatenazione di vettori s<-c(w,v) ########### Vettori categorici e fattori gender<-c(rep('female',15), rep('male',16)) gender[gender=='female'] levels(gender) # Notare differenza gender<-factor(gender) # della struttura dati gender # in output ########### Serie temporali o storiche # Numero di lavoratori in migliaia nelle praterie canadesi # nei mesi gennaio 1995-dicembre 1996 numjobs<c(982,981,984,982,981,983,983,983,983,979,973,979,974,981,985,987,986,980,983,988,994,990,999) par(mfrow=c(2,1)) plot(numjobs) # la funzione ts() trasforma il vettore in una serie temporale numjobs<-ts( numjobs, start=1995, frequency=12) plot(numjobs) #estrarre ultimo quarto del 1995 al primo quarto del 1996 first15<-window( numjobs, start=1995.75, end=1996.25) first15

##################### Acquisire dati in R ##################### # Stime delle emissioni di carbonio provocate dall uso # di combustibili fossili nel mondo.. unita di misura? # Come e stata fatta la misurazione? Consistenza in un arco temporale cosi vasto Year<-c(1800,1850, 1900, 1950, 2000) Carbon<-c(8,54,534,1630,6611) plot(carbon~year, pch=16) # Gli oggetti Year e Carbon sono vettori # ~ e l operatore di formula che il comando plot interpreta # come fai il grafico di Carbon come funzione di Year # Abbellire/rendere piu informativo/ il grafo con titolo, etichette sugli assi, etc ##################### data.frame ############################### fossilfuel<-data.frame(year=year, carbon=carbon) fossilfuel # IMPORTANTE: in riga le unita sperimentali, in colonna i fattori rm(year,carbon) plot(carbon~year,data=fossilfuel, pch=16) ## R come linguaggio di programmazione interattivo celsius<- (0:4)*10 fahrenheit <-9/5*celsius+32 conversion <- data.frame(celsius=celsius, Fahrenheit=fahrenheit) print(conversion) ## dati non numerici fourcities<-c('toronto', 'Canberra', 'New York', 'London') sort(fourcities) nchar('toronto') nchar(fourcities) ##################### leggere dati da file ############################### # SCEGLIERE LA CARTELLA DI LAVORO # (SUL MAC Misc>Changing Working Directory SUL PC File>Change dir) # OPPURE DARE L INTERA PATH DEL FILE DA CARICARE a<-read.table('datigiulia.txt', header = TRUE, sep = ",", dec=".") a<read.table('/users/riccomagno/documents/teaching/istat/lezione1_istat/datigiulia.txt', header = TRUE, sep = ",", dec=".") #### Persone che vivono in famiglie dove nessun componente lavora #### o percepisce una pensione a$x2004 rownames(a); colnames(a) a[1:3,1:3] # read.csv ##################### La banca dati di default in R ##################### data() # Elenco di insiemi di dati disponibili nella sessione di lavoro aperta # datasets: disponibili nel pacchetto base # usualmente ogni libreria ha un suo insieme di dati?faithful data(faithful) # Importa i dati faithful nella cartella di lavoro faithful

faithful[,2] faithful[2,] # Lavorare con le singole variabili waiting # da' errore attach(faithful) waiting length(waiting) detach(faithful) ##### Quanto segue richiede di caricare la libreria/pacchetto MASS

################################################################ #################### Grafici in R ############################## ################################################################ demo(graphics) ########## Peso corporeo (in kg) e del cervello (in gr) ########## per cinque specie di primati primates<-data.frame( Bodywt=c(10.0,207.0,62.0,6.8,52.2), Brainwt=c(115,406,1320,179,440), row.names=c('potar monkey','gorilla','human','rhesus monkey','chimp')) plot(brainwt ~ Bodywt, data=primates) # tre modi diversi with(primates, plot(brainwt, Bodywt)) # per fare lo stesso plot plot(brainwt ~ Bodywt, data=primates, xlim=c(0,300)) # e tre with(primates, text(brainwt ~ Bodywt, labels=row.names(primates),pos=4 )) ########## Importanza della scala: riconoscere la funzione seno plot((0:20)*pi/10, sin((0:20)*pi/10)) plot((1:50)*0.92, sin((1:50)*0.92)) # allargare la finestra grafica par(mfrow=c(3,1)) # oppure plot((1:50)*0.92, sin((1:50)*0.92)) FINE SECONDA PARTE

################################################################ ########## Principali rappresentazioni grafiche di dati ######## ################################################################ ############## Tabelle di contingenza e Istogrammi ############# ## Tabella di contingenza ad una via poisson<- table(rpois(100,5)) poisson plot(poisson) # frequenze osservate ######## Istogrammi: breakpoints e ampiezza intervalli ######## ######## La scelta di ampiezza e punti centrali delle barre ######## degli istogrammi e di fatto soggettiva ### Nove variabili morfometriche per 104 opossum di montagna possum<-read.table('datipossum.txt', header = TRUE, sep = "", dec=".") # possum e un dataset della libreria DAAG, ma esercizio # di lettura dati da file?possum rownames(possum) # unita sperimentali colnames(possum) # fattori fossum<-subset(possum, sex=='f') attach(fossum) # effetto della scelta dei breakpoint: simmetria vs skewness par(mfrow=c(2,2)) hist(totlngth, ylim=c(0,22), main='intervalli default') # effetto della scelta del breakpoint hist(totlngth, breaks=72.5+(0:5)*5, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 72.5 passo 5') hist(totlngth, breaks=75+(0:5)*5, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 75 passo 5') # effetto della scelta dell ampiezza degli intervalli par(mfrow=c(2,2)) hist(totlngth, breaks=72.5+(0:5)*5, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 72.5 passo 5') hist(totlngth, breaks=72.5+(0:10)*2.5, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 75 passo 5') hist(totlngth, breaks=72.5+(0:15)*2, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 75 passo 5') hist(totlngth, breaks=72.5+(0:20)*1.5, ylim=c(0,22), xlab='lunghezza in cm', main='intervalli 75 passo 5') ####### Istogrammi: informativi della distribuzione dei dati ####### Gli istogrammi sono una cruda stima della distribuzione dei dati ####### una stima lisciata della densita puo essere un alternativa migliore. ####### In soldoni, l altezza della curva in un punto e una stima locale della ####### proporzione di valori campionari per un unita di tempo. par(mfrow=c(1,2)) dens<-density(totlngth) hist( totlngth, breaks=72.5+(0:5)*5, probability=t,

ylim=range(dens$y), xlim=range(dens$x), xlab='lunghezza in cm', main='intervalli 72.5 passo 5') lines(dens) hist( totlngth, breaks=75+(0:5)*5, probability=t, ylim=range(dens$y), xlim=range(dens$x), xlab='lunghezza in cm', main='intervalli 75 passo 5') lines(dens) ###################################################################### ###################################################################### ############## Distribuzioni congiunte e marginali ################### ## Tabella a due vie with(warpbreaks, table(wool, tension)) ## I seguenti due comandi equivalgono al precedente attach(warpbreaks) table(wool, tension) #piano perfettamente bilanciato ## variabile numerica, dicotomica, categorica ## conteggi marginali e congiunti ## normalizzare in 0-1 ###################################################################### ######################################################################

#################################################################### ##################### Grafici Stem-and-leaf ######################## ########## informazioni piu precise sulla distribuzione dei dati with(possum, stem(totlngth)) sort(totlngth) with(fossum, stem(totlngth)) with(possum, stem(totlngth[sex=='m'])) ## Stem-and-leaf plots approssimano alla prima cifra delle leaf ## La bimodalita nella distribuzione della lunghezza della ## sottopopolazione maschile si riflette nel campione totale ## MODA = dato piu frequente. Si generalizza a leaf piu lunga ## nelle femmine e 88, nei maschi 84, nel totale 89 ## MEDIA E MEDIANA ricavabili, ma non evidenti ############ Esercizo ####################################?islands; stem(islands); stem(log10(islands)) ####################################################################### ########################## Boxplot #################################### ########## Funzione di ripartizione/distribuzione cumulata/ empirica ########## F(X<=x), conta il numero di dati minori o uguali a x ########## e normalizza in [0,1] plot( ecdf(fossum$totlngth), main='cumulata possum Female') sort(fossum$totlngth) length(fossum$totlngth) ########## Variazioni sul tema require(graphics) op <- par(mfrow=c(3,1), mgp=c(1.5, 0.8,0), mar=.1+c(3,3,2,1)) F10 <- ecdf(totlngth) plot(f10, main='cumulata possum Female') plot(f10, verticals= TRUE, do.points = FALSE, main='continua') plot(f10, lwd = 2, main='continua'); mtext("lwd = 2", adj=1) xx <- unique(sort(c(seq(-3, 2, length=201), knots(f10)))) lines(xx, F10 (xx), col='blue') abline(v=knots(f10),lty=2,col='gray70') ########## Percentile detach(fossum); attach(possum) summary(totlngth) tapply(totlngth,sex,summary) ## notare: in media maschi piu corti, l opossum piu corto e femmina etc par(mfrow=c(2,1)) boxplot(totlngth,horizontal=true, col=2); title("boxplot") ##### FILE boxplotsolo.pdf boxplot(totlngth ~ sex, data = possum, col = "lightgray",main=" Boxplot ") IQR(totlngth); tapply(totlngth,sex,iqr) sd(totlngth); tapply(totlngth,sex,sd) #### Nel boxplot non si vede la bimodalita notata con lo stem-and-leaf plot

## La media (quadratica) e un indice di posizione ## La varianza e un indice di variabilita, definito come la media quadratica ## delle distanze dei valori dalla media campionaria ##### Trasformazioni lineari, effetto sui percentile ##### sulla media: somma dei valori diviso la taglia del campione ##### sulla varianza: ############ Esercizio #################################### boxplot(count ~ spray, data = InsectSprays, col = "lightgray") boxplot(count ~ spray, data = InsectSprays, notch = TRUE, add = TRUE, col = "blue") ############ Esercizio: una buona pianificazione ############################ ############ supporta la robustezza dell analisi ############################ plot(warpbreaks$breaks) plot(warpbreaks$breaks~wool ) plot(warpbreaks$breaks~tension ) ############ Esercizio: effetto della trasformazione logartimica ########## boxplot(decrease ~ treatment, data = OrchardSprays, log = "y", col = "bisque") boxplot(decrease ~ treatment, data = OrchardSprays, col="bisque") ############ Esercizio riassuntivo: boxplot non cattura multimodalita ######### attach(faithful) boxplot(waiting, col=2); title("boxplot di waiting") par(mfrow=c(2,2)) #piu' grafici nella stessa finestra hist(waiting) hist(waiting, prob=t, nclass=20,col=3) #istogramma delle frequenze relative hist(waiting, 20, freq=f,col=3) hist(eruptions, prob=t, col="pink", main="istogramma di eruzioni", xlab="eruzioni", ylab="frequenze relative") par(mfrow=c(1,1)) # Adottare una curva continua ad un istogramma hist(eruptions, 20, freq=f, main="lisciamento per eruption") lines(density(eruptions,bw=0.1), col="red") lines(density(eruptions,bw=0.2), col="blue") lines(density(eruptions,bw=0.5), col="green") # quale scegliereste? boxplot(eruptions) # Fareste un box-plot per questi dati? # Quale importante informazione sulla distribuzione # dei dati il boxplot non cattura?

################################################################################ ################ Serie univariate: NA, trasformazione, info di diversa natura ## ################ sullo stesso grafo ########################################### ## Load the DAAG package? measles measles ## Notare NA/missing values/valori mancanti/-999 par(mfrow=c(3,1)) plot(measles) plot(log10(measles), xlab="",ylim=log10 (c(1,5000*1000)), ylab="death, Population(log scale)", yaxt="n") ytiks<-c(1, 10,100,1000,1000000, 5000000) ## popolazione londinese in migliaia londonpop<-ts( c(1088,1258,1504,1778,2073,2491,2921,3336,3881,4266,4563,4541,4498,4408), start=1801,end=1931,deltat=10) points( log10(londonpop*1000),pch=16,cex=0.5) axis(2, at = log10(ytiks),labels=paste(ytiks),las=2) plot(window(measles,start=1840,end=1882), ylim=c(0,4600), ylab="deaths; Population (in 1000)", yaxt="n") points( (londonpop),pch=16,cex=0.5) axis(2,at=(0:4)*1000,labels=paste(0:4), las=2)

######################################################################## ##################### Scatter plot ##################################### ###### Semplice strumento per individuare ###### relazioni tra due variabili ###### periodo di una serie storica xyrange <- range(milk) plot(four ~ one, data = milk, xlim = xyrange, ylim = xyrange, pch = 16, pty="16") rug(milk$one) # rappresentazioni marginale rug(milk$four, side = 2) # rappresentazioni marginale abline(0, 1) # retta di regressione library(mass) par(mfrow=c(1,2)) plot(brain ~ body, data=animals) # sull importanza delle trasformazioni dei dati plot(log(brain) ~ log(body), data=animals) plot(sunspots, main = "sunspots data", xlab = "Year", ylab = "Monthly sunspot numbers") lag.plot(sqrt(sunspots), set = c(1:4, 9:12), pch = ".", col = "gold") ############ Esercizio riassuntivo: informazioni da piu grafi ########## library(mass) attach(morley) par(mfrow=c(2,2)) hist(speed) plot(sort(speed),seq(from=0.01, to=1, by=0.01), ylab="edf", xlab="speed", type="s") plot(speed~factor(expt)) summary(speed) mean(speed) sqrt(var(speed)) tapply(speed,expt,mean) sqrt(tapply(speed,expt,var)) tapply(speed,expt,summary) #### Coefficiente di correlazione par(mfrow=c(2,3)) succ <- function(y,s) { j<-1:(length(y)-1) co<-cor(y[j],y[j+1]) plot(y[j],y[j+1],xlab="y_j", ylab="y_{j+1}", main=paste("experiment", s, ", correlation", round(co,2))) invisible() } for (i in 0:4) succ(speed[20*i+1:20], i+1) detach(morley)