La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Laboratorio di R 1° Lezione: fondamenti e distribuzioni 21 Aprile 2007 Dott.ssa Michela Cameletti.

Presentazioni simili


Presentazione sul tema: "Laboratorio di R 1° Lezione: fondamenti e distribuzioni 21 Aprile 2007 Dott.ssa Michela Cameletti."— Transcript della presentazione:

1 Laboratorio di R 1° Lezione: fondamenti e distribuzioni 21 Aprile 2007 Dott.ssa Michela Cameletti

2 R http://www.r-project.org/  Documentation  Manuals  Contributed Documentation Libro: Laboratorio di Statistica con R – Iacus, Masarotto

3 Fondamenti di R Dalla console di R è possibile inserire espressioni matematiche ed ottenerne il risultato premendo invio: > 2^2 + 2*3 [1] 10 “>” simbolo di prompt Funzioni matematiche: exp, log, sin, sqrt, abs… > exp(log(2)) [1] 2

4 E’ possibile allocare una variabile ed assegnargli un valore nei seguenti modi: x <- 2 x = 2 La variabile allocata può essere successivamente richiamata: > x [1] 2 > x + x [1] 4 > x>3 [1] FALSE Fondamenti di R

5 Gestione vettori Un vettore di dati è un insieme finito di numeri indicizzati da una variabile indice. Un modo per creare un vettore in R è il seguente: pesi <- c(60, 72, 57, 90, 95, 72) E’ possibile eseguire operazioni tra vettori a patto che abbiano la stessa dimensione o dimensioni una multipla dell’altra. altezze <- c(1.7, 1.8, 1.6, 1.9, 1.7, 1.9) bmi <- pesi/altezze^2 > bmi [1] 20.76125 22.22222 22.26562 24.93075 32.87197 19.94460

6 ?seq seq(4,9) genera un vettore ordinato di numeri interi compresi tra 4 e 9 inclusi 4:9 svolge la stessa funzione di seq(4,9) seq(4,10,2) come sopra ma con uno step di 2 tra un numero ed il successivo ?rep rep(pesi,3) replica un vettore (pesi) un dato numero di volte (3) Gestione vettori

7 Tabella di frequenza > table(pesi) pesi 57 60 72 90 95 1 1 2 1 1 Media e varianza > mean(pesi) [1] 74.33333 > sum(pesi)/length(pesi) [1] 74.33333 > var(pesi) [1] 237.8667 > sum((pesi-mean(pesi))^2)/(length(pesi)-1) [1] 237.8667 Statistica descrittiva

8 data(mtcars) ?mtcars > dim(mtcars) [1] 32 11 > colnames(mtcars) [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" [11] "carb" > rownames(mtcars) > fix(mtcars) Analisi di un dataset

9 > min(mtcars$mpg) [1] 10.4 > max(mtcars$mpg) [1] 33.9 > mean(mtcars$mpg) [1] 20.09062 > median(mtcars$mpg) [1] 19.2 > quantile(mtcars$mpg,0.5) 50% 19.2 > quantile(mtcars$mpg,0.25) 25% 15.425 summary(mtcars$mpg) Min. 1st Qu. Median Mean 3rd Qu. Max. 10.40 15.43 19.20 20.09 22.80 33.90 Analisi di un dataset

10 plot(mtcars$wt,main="Weight(lb/1000)",ylab= "Weight ") hist(mtcars$wt,main="Weight(lb/1000)",ylab= "Weight ") hist(mtcars$wt,main="Weight(lb/1000)",ylab= "Weight",breaks=20) plot(mtcars$wt,mtcars$mpg,xlab="Weight",ylab="Miles per Gallon") pie(table(mtcars$vs),main="Transmission") boxplot(mpg ~ vs,data=mtcars) Analisi di un dataset: grafici

11 VC NORMALE Densità di probabilità: dnorm(x, mean=0, sd=1, log = FALSE) > dnorm(x=0) [1] 0.3989423 Funzione di ripartizione: pnorm(q, mean=0, sd=1, lower.tail = TRUE, log.p = FALSE) > pnorm(q=0) [1] 0.5 Quantili: qnorm(p, mean=0, sd=1, lower.tail = TRUE, log.p = FALSE) > qnorm(p=0.5) [1] 0 Generazione numeri casuali: rnorm(n, mean=0, sd=1) > rnorm(n=5) [1] 1.2350712 -0.5681877 -0.1425571 -1.7924405 0.4509184

12 Esercizio VC Normale Confrontare le distribuzioni di probabilità e le funzioni di ripartizione delle seguenti variabili casuali Normali con media e varianze definite: Y1 = N(0,1) Y2 = N(4,1) Y3 = N(2,4) Y4 = N(2,0.5) Determinare, inoltre, per ognuna delle variabili i quantili di ordine 0.005, 0.025, 0.05, 0.95, 0.975, 0.995 Determinare, infine, la probabilità che Y2 assuma valori minori di 2, maggiori di 4.5 e compresi tra 4 e 4.5.

13 DISTRIBUZIONE DI PROBABILITA’ x = seq(from=-10,to=10,by=0.1) y1 = dnorm(x,mean=0,sd=1) y2 = dnorm(x,mean=4,sd=1) y3 = dnorm(x,mean=2,sd=sqrt(4)) y4 = dnorm(x,mean=2,sd=sqrt(0.5)) plot(x,y1,type="l",xlim=c(-10,10),ylim=c(0,0.6),lwd=2,lty=1,main="Distribuzioni di probabilità") lines(x,y2,col=2,lwd=2,lty=1) lines(x,y3,col=3,lwd=1,lty=2) lines(x,y4,col=4,lwd=1,lty=2) legend("topright",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("N(0,1)","N(4,1)","N(2,4)","N(2,.5)")) Esercizio VC Normale

14 FUNZIONE DI RIPARTIZIONE y1e = pnorm(x,mean=0,sd=1) y2e = pnorm(x,mean=4,sd=1) y3e = pnorm(x,mean=2,sd=sqrt(4)) y4e = pnorm(x,mean=2,sd=sqrt(0.5)) plot(x,y1e,type="l",xlim=c(-10,10),ylim=c(0,1),lwd=2,lty=1,main="Funzione di ripartizione") lines(x,y2e,col=2,lwd=2,lty=1) lines(x,y3e,col=3,lwd=1,lty=2) lines(x,y4e,col=4,lwd=1,lty=2) legend(“topleft",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("N(0,1)","N(4,1)","N(2,4)","N(2,.5)"))

15 QUANTILI quantili = c(0.005, 0.025, 0.05, 0.95, 0.975, 0.995) q1 = qnorm(quantili, 0, 1) q2 = qnorm(quantili, 4, 1) q3 = qnorm(quantili, 2, sqrt(4)) q4 = qnorm(quantili, 2, sqrt(0.5)) plot(quantili,q1,lwd=1,lty=1,ylim=c(- 5,8),main="Quantili",xlab="Ordine",ylab="Quantili") points(quantili,q2,col=2,lwd=2,lty=1) points(quantili,q3,col=3,lwd=1,lty=2) points(quantili,q4,col=4,lwd=2,lty=2) legend("topleft",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("N(0,1)","N(4,1)","N(2,4)","N(2,.5)")) Probabilità Y2<2: pnorm(2,4,1) = 0.02275013 Probabilità Y2>4.5: 1-pnorm(4.5,4,1) = 0.3085375 Probabilità 4<Y<4.5 = pnorm(4.5,4,1)-pnorm(4,4,1) = 0.1914625 Esercizio VC Normale

16 VC T di STUDENT Densità di probabilità: dt(x, df, ncp = 0, log = FALSE) > n=10 > dt(x=0,df=(n-1)) [1] 0.3880349 Funzione di ripartizione: pt(q, df, ncp = 0, lower.tail = TRUE, log.p = FALSE) > pt(q=0,df=(n-1)) [1] 0.5 Quantili: qt(p, df, ncp = 0, lower.tail = TRUE, log.p = FALSE) > qt(p=0.5,df=(n-1)) [1] 0 Generazione numeri casuali: rt(n, df, ncp = 0) > rt(n=5,df=(n-1)) [1] -2.33674951 1.78411957 1.50520474 0.35868769 -0.07155972

17 Esercizio VC T di Student Confrontare le distribuzioni di probabilità e le funzioni di ripartizione delle seguenti variabili casuali T di Student con gradi di libertà definiti: Y1 = T(gdf=1) Y2 = T(gdf=2) Y3 = T(gdf=10) Y4 = T(gdf=30) Determinare, inoltre, per ognuna delle variabili i quantili di ordine 0.005, 0.025, 0.05, 0.95, 0.975, 0.995 Determinare, infine, la probabilità che Y2 assuma valori minori di 0.5, maggiori di 1.5 e compresi tra 0 e 0.5.

18 DISTRIBUZIONE DI PROBABILITA’ t1 = dt(x,df=1) t2 = dt(x,df=2) t3 = dt(x,df=10) t4 = dt(x,df=30) plot(x,t1,type="l",xlim=c(-10,10),ylim=c(0,0.5),lwd=2,lty=1) lines(x,t2,col=2,lwd=2,lty=1) lines(x,t3,col=3,lwd=1,lty=2) lines(x,t4,col=4,lwd=1,lty=2) legend("topright",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("T_1","T_2","T_10","T_30")) Esercizio VC T di Student

19 DISTRIBUZIONE DI PROBABILITA’ t1 = dt(x,df=1) t2 = dt(x,df=2) t3 = dt(x,df=10) t4 = dt(x,df=30) plot(x,t1,type="l",xlim=c(-10,10),ylim=c(0,0.5),lwd=2,lty=1) lines(x,t2,col=2,lwd=2,lty=1) lines(x,t3,col=3,lwd=1,lty=2) lines(x,t4,col=4,lwd=1,lty=2) legend("topright",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("T_1","T_2","T_10","T_30")) Esercizio VC T di Student

20 FUNZIONE DI RIPARTIZIONE t1e = pt(x,df=1) t2e = pt(x,df=2) t3e = pt(x,df=10) t4e = pt(x,df=30) plot(x,t1e,type="l",xlim=c(- 10,10),ylim=c(0,1),lwd=2,lty=1,main="Funzione di ripartizione") lines(x,t2e,col=2,lwd=2,lty=1) lines(x,t3e,col=3,lwd=1,lty=2) lines(x,t4e,col=4,lwd=1,lty=2) legend("topleft",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("T_1","T_2","T_10","T_30")) Esercizio VC T di Student

21 QUANTILI quantili = c(0.005, 0.025, 0.05, 0.95, 0.975, 0.995) qt1 = qt(quantili, df=1) qt2 = qt(quantili, df=2) qt3 = qt(quantili, df=10) qt4 = qt(quantili, df=30) plot(quantili,qt1,lwd=1,lty=1,ylim=c(- 64,64),main="Quantili",xlab="Ordine",ylab="Quantili") points(quantili,qt2,col=2,lwd=2,lty=1) points(quantili,qt3,col=3,lwd=1,lty=2) points(quantili,qt4,col=4,lwd=2,lty=2) legend("topleft",col=c(1,2,3,4),lwd=c(2,2,1,1),lty=c(1,1,2,2), legend=c("T_1","T_2","T_10","T_30")) Esercizio VC T di Student

22 curve(dnorm(x),from=-10,to=+10) curve(dt(x,df=1),add=T,col=2) curve(dt(x,df=10),add=T,col=3) legend("topleft",col=c(1,2,3),legend=c("Norm","T_1gdl","T_10gdl"), lty=c(1,1,1)) Confronto Normale – T Student

23 Simulare quattro diverse (n = 10, 100, 1000, 10000) distribuzioni campionarie della media campionaria (su 1000 repliche) per una variabile causale Normale con media 3 e varianza 4. media.camp = matrix(0,nrow=1000,ncol=4) for (i in 1:1000){ media.camp[i,1] <- mean(rnorm(10,mean=3,sd=2)) media.camp[i,2] <- mean(rnorm(100,mean=3,sd=2)) media.camp[i,3] <- mean(rnorm(1000,mean=3,sd=2)) media.camp[i,4] <- mean(rnorm(10000,mean=3,sd=2)) } par(mfrow = c(2,2)) # 2x2 grafici nella stessa pagina hist(media.camp[,1],main="n=10") hist(media.camp[,2],main="n=100") hist(media.camp[,3],main="n=1000") hist(media.camp[,4],main="n=10000") Simulazione della media camp.

24 Una macchina è calibrata per produrre dischi metallici di raggio pari a 3 cm. Il raggio effettivo segue la distribuzione Normale con media pari a 3 e varianza pari a 0.04. Rappresentare graficamente la distribuzione di probabilità e la funzione di ripartizione del raggio dei dischi; Calcolare la percentuale di dischi con raggio inferiore a 2.8 cm Determinare la percentuale dei dischi con raggio maggiore di 3.25 cm Calcolare la percentuale dei dischi con raggio compreso tra 2.6 cm e 3.4 cm Esercizio 1

25 Una ditta ha sottoposto ad un test di durata 5000 batterie. La durata media è risultata pari a 100 ore e la deviazione standard a 6 ore. Supponendo che la distribuzione della durata delle batterie sia Normale, calcolare: La distribuzione di probabilità della durata delle batterie Il numero di batterie con durata minore di 80 ore. Esercizio 2

26


Scaricare ppt "Laboratorio di R 1° Lezione: fondamenti e distribuzioni 21 Aprile 2007 Dott.ssa Michela Cameletti."

Presentazioni simili


Annunci Google