############################################################################# ### ### labVI.txt - Mauro Gasparini, Gennaio 2003 ### sesto laboratorio di R per studenti di ingegneria ### ### Costruzione di una funzione calcolare la stima bootstrap ### nonparametrica di una statistica qualsiasi ### ############################################################################# ### Esempio: dato un vettore di osservazioni x realizzazione di un ### vettore casuale calcolare la stima bootstrap dell'errore standard ### di una generica statistica stat # per la sintassi su come costruire una nuova funzione, vedi lab III # calcola il suo errore standard stderrboot <- function(x, # i dati B, # quante replicazioni bootstrap stat # quale statistica (nota: è una funzione!!!) ){ # inizializzaz xboot xboot <- matrix(0,B,length(x)) # ricampiona con ripetizione da x stesso for (i in 1:B) xboot[i,] <- sample(x, length(x), replace=T) # applica la funzione alle righe di xboot statboot <- apply(xboot,2,stat) # ritorna l'errore standard bootstrap sqrt(var(statboot)) } ### Esercizio 1. Esempio di invocazione della funzione precedente # quando la statistica è il coefficiente di variazione # di 1000 osservazioni normali # simula x x <- rnorm(1000) # definisci il coefficiente di variazione coeffvar <- function(x) sqrt(var(x))/mean(x) # invoca la funzione definita sopra stderrboot(x, 2000, coeffvar) ### Esercizio 2. Un'applicazione per verifica (per mettersi il cuore in pace): # quanto vale l'errore standard della media di 100 osservazioni normali standard? # (risposta: 1/10) # date un senso a questa istruzione e verificatela matematicamente stderrboot(x,2000,mean)