# 2.b n <- 3 a.sample <- sample( exercise2data$height , size=n ) likelihood.normal <- function( x ) sapply(x , function(z) prod( dnorm( a.sample , mean=z , sd=sd(a.sample) ) )) curve( likelihood.normal(x) , from=60 , to=75 ) lines( c( mean(a.sample) , mean(a.sample) ) , c(0,1) , col="red" ) points( a.sample , rep(0,n) ) # 2.d n <- 10 sample.means <- sapply( rep(n,10000) , function(x) mean( sample( exercise2data$height , size=x ) ) ) hist( sample.means , breaks=50 ) lines( c( mean(exercise2data$height) , mean(exercise2data$height) ) , c(0,5000) , col="red" ) # 3.a # sample sample.means <- {} sample.ci.hi <- {} sample.ci.lo <- {} n <- 100 for ( i in 1:n ) { s <- sample( exercise2data$h , size=5 ) sample.means[i] <- mean(s) sample.ci <- confint.default( lm( s ~ 1 ) , level=0.95 ) sample.ci.hi[i] <- sample.ci[2] sample.ci.lo[i] <- sample.ci[1] } # count instances of true mean being inside intervals is.inside <- function( true.mean , lo , hi ) { ifelse( true.mean>lo & true.mean