# ----------------------------------------------------------------------- # Esercizio 6.6. Lo script che segue serve a produrre la fig. 6.1 # e cioč serve a replicare l'esperimento, descritto nel manuale # con riferimento al solo caso di n=10, per dimensioni campionarie # variabili. # ----------------------------------------------------------------------- T.1 <- function(x) (2*x[1] + 3*x[length(x)])/5 T.2 <- function(x) (x[1] + x[2])/2 nrep <- 100000 n <- seq(10,100,by=10) t.1 <- matrix(nrow=length(n),ncol=2) t.2 <- t.1 k <- 0 for (i in n) { dimc <- i x <- rnorm(dimc*nrep,mean=100,sd=10) x <- matrix(x,nrow=nrep) k <- k+1 tmp <- apply(x,1,T.1) t.1[k,1] <- mean(tmp) t.1[k,2] <- var(tmp) tmp <- apply(x,1,T.2) t.2[k,1] <- mean(tmp) t.2[k,2] <- var(tmp) } # figura 6.1 (pannello di destra) plot(c(n[1],n[length(n)]),c(99.8,100.2),type="n", xlab="Dimensione del campione",ylab="Media") points(n,t.1[,1]) points(n,t.2[,1],pch=19) abline(h=100,lty=3,lwd=2) # figura 6.1 (pannello di sinistra) ymin <- min(c(t.1[,2],t.2[,2])) ymax <- max(c(t.1[,2],t.2[,2])) plot(c(n[1],n[length(n)]),c(ymin,ymax),type="n", xlab="Dimensione del campione",ylab="Varianza") points(n,t.1[,2]) points(n,t.2[,2],pch=19) lines(n,t.1[,2],lty=3) lines(n,t.2[,2],lty=3) # -----------------------------------------------------------------------