x <-c(8.26, 6.33, 10.4, 5.27, 5.35, 5.61, 6.12, 6.19, 5.2,7.01, 8.74, 7.78, 7.02, 6, 6.5, 5.8, 5.12, 7.41, 6.52, 6.21,12.28, 5.6, 5.38, 6.6, 8.74) CV<-function(x) {sqrt(var(x))/mean(x)} CV(x) jack <- numeric(length(x)-1) pseudo <- numeric(length(x)) for (i in 1:length(x)) { jack<-x[-i] pseudo[i]<-length(x)*CV(x)-(length(x)-1)*CV(jack) } jack.estim<-mean(pseudo) jack.estim jack.se<-sqrt(var(pseudo)/length(x)) jack.se jack.estim+qt(0.975,length(x)-1)*jack.se jack.estim-qt(0.975,length(x)-1)*jack.se hist(pseudo) library(bootstrap) x1<-runif(6) x1 jack1<-jackknife(x1,max) jack1 estim.jack<-mean(jack1$jack.values) estim.jack bias<-jack1$jack.bias quantile(jack1$jack.values,c(0.025,0.05,0.95,0.975)) estim.jack+qt(0.975,length(x)-1)*jack1$jack.se estim.jack-qt(0.975,length(x)-1)*jack1$jack.se boot1 <-numeric(1000) for (i in 1:1000) { boot1[i] <- CV(sample(x,replace=T)) } boot.estim<-mean(boot1) boot.se<-sqrt(var(boot1)) hist(boot1) quantile(boot1,0.975) quantile(boot1,0.025) bias <- mean(boot1) - CV(x) CV(x) - bias CV(x) - bias - 1.96*boot.se CV(x) - bias + 1.96*boot.se library("boot") school<-1:15 lsat<-c(576,635,558,578,666,580,555,661,651,605,653,575,545,572,594) gpa<-c(3.39,3.30,2.81,3.03,3.44,3.07,3.00,3.43,3.36,3.13,3.12,2.74,2.76,2.88,2.96) law.data <- data.frame(School=school, LSAT=lsat, GPA=gpa) correl<-function(data,indices) { data<-law.data[indices,] cor(data[,2],data[,3]) } boot.obj1 <- boot(law.data, correl, 1000) boot.obj1 boot.ci(boot.obj1,type=c("norm","perc","bca"),conf=c(0.90,0.95)) plot(boot.obj1) regcoef<-function(data,indices) { data<-law.data[indices,] mod<-lm(LSAT~GPA,data) coef(mod) } boot.obj2 <- boot(law.data,regcoef,1000) boot.obj2 boot.ci(boot.obj2,index=1,type=c("norm","perc","bca"),conf=c(0.90,0.95)) boot.ci(boot.obj2,index=2,type=c("norm","perc","bca"),conf=c(0.90,0.95)) plot(boot.obj2,index=1) plot(boot.obj2,index=2)