######################################################################################## ## This code is for learning concept of confidence interval ## [EMS] Chapter 6 Fig. 6.2 on page 53 ## created on Nov. 2005 by Leena Choi ## modified on Jan. 13, 2007 by Leena Choi ######################################################################################## ci.95.sample <- function(n = n, n.trial=n.trial){ sam <- matrix(NA, ncol=n.trial, nrow=n) mu <- 24.2 s <- 5 for(i in 1:n.trial){ sam[,i] <- rnorm(n, mu, s) } sam.mean <- apply(sam, 2, mean) sam.sd <- apply(sam, 2, sd) ci.l <- sam.mean - 1.96*sam.sd/sqrt(n) ci.u <- sam.mean + 1.96*sam.sd/sqrt(n) sam.ci <- data.frame(mean=sam.mean, ci.l = ci.l, ci.u=ci.u) plot(1:n.trial, sam.mean, xlab="Identification number of trial", ylab="Sample mean and 95% CI", xlim=c(1, n.trial+1.6), ylim=c(21, 27), pch=19) abline(h=mean(sam.mean), lty=2, col=3) text((n.trial+1.1), 24.4, labels = paste("\m","=",mu), vfont=c("serif symbol", "plain"), cex=1.2, col=3) for(i in 1:n.trial){ segments(i, ci.l[i], i, ci.u[i]) } } ## change the sample size n n.trial <- 20 n <- 100 set.seed(16) ci.95.sample(n = n, n.trial=n.trial) text(7, 26.4, "*", col=2, cex=2)