ESERCIZI 10
Esercizio A
I dati contenuti nel file pigiami.txt riguardano un’analisi di laboratorio sulla infiammabilit`a dei pigiami per bambini; l’analisi consiste nel tenere sotto una fiamma un pezzo standard di stoffa appoggiato su una piastra di metallo. Vengono attentamente controllate l’umidit`a del tessuto, la sua temperatura, l’altezza della fiamma, il modo con cui la fiamma `e tenuta sul tessuto e cos`ı via. Quando la fiamma `e rimossa e il tessuto ha finito di bruciare, `e misurata la lunghezza del tessuto carbonizzato.
Si vuole stabilire se i diversi tipi di tessuto forniscono gli stessi risultati.
I dati di ciascuna colonna del file pigiami.txt sono relativi a un diverso tessuto.
Esercizio B
• Il seguente programma simula 100 realizzazione di una variabile aleatoria t di Student con 5 gradi di libert`a e ne costruisce il Normal Probability Plot. Eseguirlo anche modificando il numero di realizzazioni e i gradi di libert`a. Commentare i risultati.
yt=rt(100,5) qqnorm(yt)
qqline(yt,col = "red", lty=2)
• La funzione tp genera campioni di taglia 10, 20, 50 e ne costruisce il Normal Probability Plot. Se nella chiamata della funzione non `e presente l’opzione ran.gen= i campioni sono generati dalla variabile aleatoria normale standardizzata altrimenti dalla variabile indicata dopo ran.gen=
Eseguirlo e commentare i risultati.
tp<-function(n=c(10,20,50),line=F, ran.gen=rnorm, lims=c(-4,4),... ) { m<-length(n)
for (i in 1:m)
{ y<-ran.gen(n[i],...)
qqnorm(y,xlim=lims,ylim=lims,main=paste("n=",n[i])) if (line) abline(0,1,lty=2) }
invisible() }
par(mfrow=c(1,3),pty="s") tp(line=TRUE)
## Per dati nonnormali
tp(ran.gen=rgamma,shape=4,line=TRUE) tp(ran.gen=rt,df=5,line=TRUE)
• La funzione ran.gen genera campioni di taglia 300 da variabili aleatorie scelte a caso da una lista e ne costruisce il Normal Probability Plot. Eseguirlo ripetutamente e riconoscere dati: (1) normali, (2) code pesanti, (3) asimmetrici, (4) code leggere, (5) con outliers.
ran.gen <- function(i,n,m=5) switch(i,
rnorm(n), rt(n,df=m), rgamma(n,shape=m)/m, (rbeta(n,m,m)-0.5)*m, c(rnorm(n=m), rcauchy(m)), round(m*rnorm(n)) )
par(mfrow=c(3,3),pty="s")
gen<-sample(x=1:6,size=9,replace=TRUE) for (i in 1:9) qqnorm(ran.gen(gen[i],300))
1