# mean no. of cars per household population=c(rep(0,5),rep(1,3),rep(2,2)); max.cars=max(population); sample.sizes=c(1,2,4,16); n.sizes=length(sample.sizes); no.of.samples = 10000; n=c(); ybar = c(); for (i in 1:n.sizes) { sample.size = sample.sizes[i]; if (sample.size > 1) samples = t( replicate(no.of.samples,sample(population,sample.size,replace=T)) ) if (sample.size == 1) samples = matrix(sample(population, no.of.samples,replace=T),nrow=no.of.samples,ncol=1) possible.means.of.n = apply(samples,1,mean); n=c(n,rep(paste("n = ",toString(sample.size)),no.of.samples)); ybar = c(ybar,possible.means.of.n) } pdf(file = "ave-number-cars.pdf", width = 4, height = 6, family = "Helvetica") histogram( ~ ybar | n , breaks = seq(-1/32,2+1/32,1/16), main = "", xlab= "mean no. of cars in sample of size n" ) dev.off() # mean no. of letters per word require(lattice) ds=read.table("NewsweekWords_1_column.txt",as.is=T,col.names="word") attach(ds) word.length=nchar(word) summary(word.length) max.length=max(word.length) sample.sizes=c(1,2,4,16); n.sizes=length(sample.sizes); n=2; no.of.samples = 10000; n=c(); ybar = c(); for (i in 1:n.sizes) { sample.size = sample.sizes[i]; if (sample.size > 1) samples = t( replicate(no.of.samples,sample(word.length,sample.size,replace=T)) ) if (sample.size == 1) samples = matrix(sample(word.length, no.of.samples,replace=T),nrow=no.of.samples,ncol=1) possible.means.of.n = apply(samples,1,mean); n=c(n,rep(paste("n = ",toString(sample.size)),no.of.samples)); ybar = c(ybar,possible.means.of.n) } pdf(file = "ave-number-letters.pdf", width = 4, height = 6, family = "Helvetica") histogram( ~ ybar | n , breaks = seq(1-1/32,15+1/32,1/16), main = "", xlab= "mean no. letters/word in sample of size n" ) dev.off()