Sei sulla pagina 1di 15

Esercitazione R laboratorio (19 maggio 2010) e altro

Operazioni

> 2+3
[1] 5
> 2/3
[1] 0.6666667
> 2*2
[1] 4
> 2^2
[1] 4
Definizione vettori (colonna)

> a<-c(1,2,3)
> b<-c(2,2,2)
Prodotto termine a termine tra vettori

> a*b
[1] 2 4 6
Prodotto vettore riga per vettore colonna

> t(a)%*%b
[,1]
[1,] 12
> c<-c(1,2,3,4,5,6,7,8,9,10)
Definizione matrice (riempimento per riga)

> matrix(c,nrow=2,byrow=TRUE)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
Definizione matrice (riempimento per colonna - default)

> c<-matrix(c,nrow=2)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
Definizione matrice con dim

> a<-c(1,1,1,1)
> dim(a)<-c(2,2)
>a
[,1] [,2]
[1,] 1 1
[2,] 1 1
Prodotto tra matrici

> z=a%*%c
>z
[,1] [,2] [,3] [,4] [,5]
[1,] 3 7 11 15 19
[2,] 3 7 11 15 19
1

Definizione di una funzione che calcola la media dei valori di un vettore

> media<-function(x) {z=sum(x)/length(x)


+ z}
Definizione di una funzione che calcola la parabola e la disegna

parabola<-function(a,b,c,x) {(a*x^2+b*x+c)}
> curve(parabola(2,2,2,x),-6,5)
>b
[1] 2 2 2
> media(b)
[1] 2
Lettura dati da file

> read.table("exams.txt",header=TRUE)
Economia.I Economia.II Statistica.I Statistica.II Marketing
Chiara
18
20
21
19
26
Piero
30
30
30
30
30
Sabrina
23
25
22
22
28
Elena
21
22
25
24
28
Sara
30
30
30
30
26
Marta
27
30
26
28
24
> e<-read.table("exams.txt",header=TRUE)
>e
Economia.I Economia.II Statistica.I Statistica.II Marketing
Chiara
18
20
21
19
26
Piero
30
30
30
30
30
Sabrina
23
25
22
22
28
Elena
21
22
25
24
28
Sara
30
30
30
30
26
Marta
27
30
26
28
24
Accesso ad una variabile

> e$Economia.I
[1] 18 30 23 21 30 27
> e[1,2]
[1] 20
Statistica Descrittiva
Sommario statistiche descrittive

> summary(e)
Economia.I Economia.II Statistica.I Statistica.II Marketing
Min. :18.00 Min. :20.00 Min. :21.00 Min. :19.0 Min. :24
1st Qu.:21.50 1st Qu.:22.75 1st Qu.:22.75 1st Qu.:22.5 1st Qu.:26
Median :25.00 Median :27.50 Median :25.50 Median :26.0 Median :27
Mean :24.83 Mean :26.17 Mean :25.67 Mean :25.5 Mean :27
2

3rd Qu.:29.25 3rd Qu.:30.00 3rd Qu.:29.00 3rd Qu.:29.5 3rd Qu.:28
Max. :30.00 Max. :30.00 Max. :30.00 Max. :30.0 Max. :30
Accesso diretto ad una variabile

> attach(e)
> mean(Economia.I)
[1] 24.83333
Matrice di varianze e covarianze

> var(e)
Economia.I Economia.II Statistica.I Statistica.II Marketing
Economia.I
24.56667 21.63333 17.33333
21.7
1.0
Economia.II 21.63333 20.16667 14.06667
18.9
-0.6
Statistica.I 17.33333 14.06667 14.66667
16.8
1.6
Statistica.II 21.70000 18.90000 16.80000
20.7
0.6
Marketing
1.00000 -0.60000
1.60000
0.6
4.4
Matrice di correlazione

> cor(e)
Economia.I Economia.II Statistica.I Statistica.II Marketing
Economia.I 1.0000000 0.97192615 0.9131524 0.96227997 0.09618349
Economia.II 0.9719261 1.00000000 0.8179155 0.92503800 -0.06369537
Statistica.I 0.9131524 0.81791548 1.0000000 0.96418062 0.19917184
Statistica.II 0.9622800 0.92503800 0.9641806 1.00000000 0.06286946
Marketing
0.0961835 -0.06369537 0.1991718 0.06286946 1.00000000
Distribuzione di frequenza variabile Economia.I

> table(Economia.I)
Economia.I
18 21 23 27 30
1 1 1 1 2
Grafico a barre verticali Economia.I e boxplot(Economia.I)

plot(table(Economia.I))
boxplot(Economia.I)
Distribuzione di frequenza doppia variabili Economia.I e Economia.II

> table(Economia.I,Economia.II)
Economia.II
Economia.I 20 22 25 30
18 1 0 0 0
21 0 1 0 0
23 0 0 1 0
27 0 0 0 1
30 0 0 0 2
Grafico a dispersione Economia.I e Economia.II

> plot(Economia.I,Economia.II)
> doppia<-table(Economia.I,Economia.II)
Calcolo indice chi-quadro nella tabella doppia

> summary(doppia)
Number of cases in table: 6
3

Number of factors: 2
Test for independence of all factors:
Chisq = 18, df = 12, p-value = 0.1157
Chi-squared approximation may be incorrect

Variabili Casuali
Bernoulli
Densit dbinom(x=x,size=1,prob=p)
Ripartizione pbinom(q=x,size=1,prob=p)
Quantile qbinom(p=,size=1,prob=p)
Random rbinom(n,size=1,prob=p)
Binomiale
Densit dbinom(x=x,size=m,prob=p)
Ripartizione pbinom(q=x,size=m,prob=p)
Quantile qbinom(p=,size=m,prob=p)
Random rbinom(n,size=m,prob=p)
Geometrica
Densit dgeom(x=x,prob=p)
Ripartizione pgeom(q=x,prob=p)
Quantile qgeom(p=,prob=p)
Random rgeom(n,prob=p)
Poisson
Densit dpois(x=x,lambda=)
Ripartizione ppois(q=x,lambda=)
Quantile qpois(p=,lambda=)
Random rpois(n,lambda=)
Esponenziale
Densit dexp(x=x,rate=)
Ripartizione pexp(q=x,rate=)
Quantile qexp(p=,rate=)
Random rexp(n,rate=)
Normale
Densit dnorm(x=x,mean=,sd=)
Ripartizione pnorm(q=x,mean=,sd=)
Quantile qnorm(p=,mean=,sd=)
Random rnorm(n,mean=,sd=)
Student
Densit dt(x=x,df=k)
Ripartizione pt(q=x,df=k)
Quantile qt(p=,df=k)
Random rt(n,df=k)
Chi - Quadrato
Densit dchisq(x=x,df=k)
Ripartizione pchisq(q=x,df=k)
Quantile qchisq(p=,df=k)
Random rchisq(n,df=k)

Fisher
Densit df(x=x,df1=n1,df2=n2)
Ripartizione pf(q=x,df1=n1,df2=n2)
Quantile qf(p=,df1=n1,df2=n2)
Random rf(n,df1=n1,df2=n2)
Uniforme
Densit dunif(x=x,min,max)
Ripartizione punif(x=x,min,max)
Quantile qunif(x=x,min,max)
Random runif(x=x,min,max)

Probabilit valore 3 (3 successi) in una binomiale n=10 prove indipendenti =0.5 probabilit successo in ciascuna prova

> dbinom(3,10,0.5)
[1] 0.1171875
Funzione di ripartizione valore 3 (3 successi) in una binomiale n=10 prove indipendenti =0.5 probabilit successo in
ciascuna prova

> pbinom(3,10,0.5)
[1] 0.171875
Quantile 0.171875 in una binomiale in una binomiale n=10 prove indipendenti =0.5 probabilit successo in ciascuna
prova

> qbinom(0.171875,10,0.5)
[1] 3
Generazione casuale di 5 valori in una binomiale n=10 prove indipendenti =0.5 probabilit successo in ciascuna prova

> rbinom(5,10,0.5)
[1] 2 4 3 5 6
Vettore k contenente i numeri da 0 a 10

> k<-c(0:10)
>k
[1] 0 1 2 3 4 5 6 7 8 9 10
Vettore contenente le probabilit dei valori da 0 a 10 in una binomiale n=10 prove indipendenti =0.5 probabilit
successo in ciascuna prova

>p<-dbinom(k,10,0.5)
Grafico a punti e a barre verticali della funzione di probabilit dei valori da 0 a 10 in una binomiale n=10 prove
indipendenti =0.5 probabilit successo in ciascuna prova

> plot(p)
> plot(p,type="h")
Distribuzione di probabilit e grafico a barre verticali della funzione di probabilit dei valori da 0 a 10 in una binomiale
n=10 prove indipendenti =0.8 probabilit successo in ciascuna prova

> p<-dbinom(k,10,0.8)
> plot(p,type="h")
Distribuzione di probabilit e grafico a barre verticali della funzione di probabilit dei valori da 0 a 10 in una binomiale
n=10 prove indipendenti =0.2 probabilit successo in ciascuna prova

> p<-dbinom(k,10,0.2)
5

> plot(p,type="h")
Distribuzione di probabilit e grafico a barre verticali della funzione di probabilit dei valori da 0 a 10 in una poisson di
parametro =0.2

> pp<-ppois(k,2)
> plot(pp,type="h")
Quantile 0.95 di una Normale standard

> qnorm(0.95)
[1] 1.644854
Quantile 0.975 di una Normale standard

> qnorm(0.975)
[1] 1.959964
Quantile 0.99 di una Normale standard

> qnorm(0.99)
[1] 2.326348
Quantile 0.025 di una Normale standard

> qnorm(0.025)
[1] -1.959964
Quantile 0.975 di una t Student di parametro 10

> qt(0.975,10)
[1] 2.228139
Quantile 0.975 di una t Student di parametro 20

> qt(0.975,20)
[1] 2.085963
Quantile 0.95 di una chi-quadro di parametro 5

> qchisq(0.95,5)
[1] 11.07050
Quantile 0.95 di una F di Fisher di parametri 2 e 3

> qf(0.95,2,3)
[1] 9.552094
Grafico distribuzione Normale con media uguale e diversa varianza o varianza uguale e diversa media

curve(dnorm(x,4,1),0,8)
> curve(dnorm(x,0,0.5),-6,6)
> curve(dnorm(x,0,1),-6,6,add=TRUE)
> curve(dnorm(x,2,1),-6,6,add=TRUE)
Grafico funzione di ripartizione Normale standard

curve(pnorm(x),-10,10)

Intervallo di confidenza
Generazione di un campione casuale di numerosit 20 da una Normale di media 4 e deviazione standard=1 (default) e
IC per il valor medio

n<-rnorm(20,4)
>n
[1] 3.845565 1.956838 3.920479 5.299678 2.378802 4.623978 3.599361 5.850152 3.519725
4.020061 3.374964 2.664835 4.717921 3.293363 3.416350 4.186186 5.561030
[18] 3.054488 4.102508 3.565473
> mean(n)
[1] 3.847588
> t.test(n,conf.lev=0.95)
One Sample t-test
data: n
t = 17.0484, df = 19, p-value = 5.678e-13
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
3.375221 4.319955
sample estimates:
mean of x
3.847588
Test di ipotesi
Generazione di un campione casuale di numerosit 20 da una Normale di media 4 e deviazione standard=1 (default)

> n<-rnorm(20,4)
>n
[1] 3.111146 4.570533 3.568132 3.615810 4.357036 3.467949 5.608527 5.742511 3.571498
5.158882 3.457617 3.844036 2.041877
[14] 2.708442 3.622345 3.739368 3.717959 3.476368 3.808760 3.242662
mean(n)
Test di ipotesi sul valore medio della variabile che genera il campione n Ipotesi nulla media=3 Ipotesi alternativa
media>3 e I.Confidenza 95%

> t.test(n,mu=3,alternative="greater")
One Sample t-test
data: n
t = 4.0852, df = 19, p-value = 0.0003154
alternative hypothesis: true mean is greater than 3
95 percent confidence interval:
3.473828
Inf
sample estimates:
8

mean of x
3.821573
Test di ipotesi sul valore medio della variabile che genera il campione n Ipotesi nulla media=3 Ipotesi alternativa
media3 e I.Confidenza 95%

> t.test(n,mu=3,alternative="two.sided")
One Sample t-test
data: n
t = 4.0852, df = 19, p-value = 0.0006307
alternative hypothesis: true mean is not equal to 3
95 percent confidence interval:
3.400646 4.242500
sample estimates:
mean of x
3.821573
Test di ipotesi sul valore medio della variabile che genera il campione n Ipotesi nulla media=3 Ipotesi alternativa
media<3 e I.Confidenza 95%

> t.test(n,mu=3,alternative="less")
One Sample t-test
data: n
t = 4.0852, df = 19, p-value = 0.9997
alternative hypothesis: true mean is less than 3
95 percent confidence interval:
-Inf 4.169318
sample estimates:
mean of x
3.821573
Test di ipotesi sul coefficiente di correlazione. Ipotesi nulla rho=0 ipotesi alternativa rho diverso da zero

> cor.test(y,x) oppure cor.test(y,x,"two.sided" )


Pearson's product-moment correlation
data: y and x
t = 10.5397, df = 6, p-value = 4.289e-05
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.8588991 0.9954539 0.8588991 0.9954539
sample estimates:
cor 0.9740407
Test chi quadro di adattamento di una distribuzione osservata ad una Poisson con media 1.8

> obs<-c(15,30,25,20,10)
> teo<-dpois(x,1.8)
> teo2=teo/sum(teo)
> x<-c(0,1,2,3,4)
> chisq.test(obs,p=teo2)
9

Chi-squared test for given probabilities


data: obs
X-squared = 2.0698, df = 4, p-value = 0.7229
Test chi quadro di adattamento di una distribuzione osservata ad una Normale con media 174 e varianza 16 (Classi
minore 165, 165-170,170-175,175-180, maggiore 180)

> obs<-c(7,51,190,124,28)
> teo<-c(0.012,0.146,0.440,0.334,0.068)
> chisq.test(obs,p=teo)
Chi-squared test for given probabilities
data: obs
X-squared = 3.773, df = 4, p-value = 0.4376
Warning message:
In chisq.test(obs, p = teo) :
L'approssimazione al Chi-quadrato potrebbe essere inesatta

Regressione lineare
Regressione lineare di y da x retta di regressione
> x<-c(2,1,3,4,2)
> y<-c(4,2,5,7,4)
> reglin<-(lm(y~x))
> summary(reglin)
Call:
lm(formula = y ~ x)
Residuals:
1
2
3
4
5
0.23077 -0.19231 -0.34615 0.07692 0.23077
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.6154 0.3426 1.796 0.17030
x
1.5769 0.1314 12.004 0.00124 **
--Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 0.2996 on 3 degrees of freedom
Multiple R-squared: 0.9796, Adjusted R-squared: 0.9728
F-statistic: 144.1 on 1 and 3 DF, p-value: 0.001244
> plot(x,y)
> abline(lm(y~x),lty=3)

10

11

12

13

14

15