x <- c(20
,25
,15
,15
,25
,25
,25
,21
,30
,25
,20
,40
,13
,30
,25
,20
,25
,20
,25
,20
,20
,15
,15
,12
,20
,5
,20
,15
,25
,22
,20
,22
,25
,20
,20
,35
,30
,25
,20
,20
,20
,25
,25
,15
,20
,35
,25
,25
,30
,23
,10
,22
,25
,25
,22
,30
,20
,25
,25
,22
,25
,25
,25
,22
,25
,12
,18
,20
,20
,22
,30
,25
,22
,20
,50
,30
,25
,20
,30
,22
,25
,30
,22
,25
,22
,22
,25
,25
,25
,20
,22
,15
,20
,30
,20
,25
,30
,35
,22
,12
,30
,15
,10
,30
,9
,25
,20
,20
,35
,25
,35
,30
,12
,25
,15
,25
,25
,20
,20
,6
,15
,40
,20
,40
,25
,25
,20
,15
,15
,22
,24
,22
,20
,25
,25
,25
,35
,40
,20
,22
,22
,20
,25
,25
,18
,25
,20
,25
,30
,20
,22
,35
,22
,25
,25
,25
,25
,22
,23
,35
,15
,25
,18
,22
,25
,25
,28
,30
,20
,25
,25
,30
,22
,30
,10
,10
,25
,20
,22
,25
,25
,15
,22
,25
,25
,28
,22
,30
,25
,20
,25
,25
,20
,30
,20
,30
,50
,19
,20
,28
,20
,25
,35
,25
,25
,15
,16
,20
,20
,25
,30
,20
,25
,25
,25
,20
,20
,25
,25
,30
,22
,20
,25
,25
,18
,18
,20
,25
,25
,30
,25
,20
,25
,20
,20
,20
,22
,18
,22
,20
,15
,25
,25
,20
,25
,15
,22
,25
,25
,15
,12
,25
,30
,22
,15
,22
,25
,12
,18
,30
,25
,25
,40
,24
,25
,15
,25
,20
,25
,25
,25
,20
,30
,20
,25
,30
,22
,25
,25
,25
,50
,19
,50
,25
,35
,20
,20
,20
,20
,20
,25
,25
,25
,20
,20
,20
,20
,25
,18
,25
,22
,22
,30
,30
,8
,20
,25
,30
,50
,22
,20
,10
,25
,25
,25
,25
,18
,25
,20
,25
,30
,18
,20
,25
,22
,22
,20
,20
,25
,20
,20
,20
,20
,25
,20
,10
,20
,25
,30
,25
,50
,30
,30
,50
,15
,25
,25
,22
,20
,22
,30
,25
,18
,22
,22
,30
,40
,25
,20
,10
,20
,9
,15
,20
,15
,20
,30
,12
,15
,12
,20
,15
,12
,25
,20
,25
,25
,25
,30
,20
,25
,15
,15
,22
,10
,15
,10
,20
,25
,20
,20
,38
,20
,20
,20
,40
,25
,25
,30
,25
,10
,20
,25
,12
,15
,25
,20
,22
,22
,20
,25
,25
,25
,15
,40
,20
,20
,16
,25
,15
,20
,25
,20
,30
,50
,20
,25
,20
,30
,30
,25
,25
,12
,25
,25
,25
,20
,20
,20
,15
,20
,25
,15
,25
,50
,30
,20
,20
,25
,12
,15
,20
,20
,35
,22
,15
,18
,30
,22
,12
,12
,20
,20
,15
,25
,15
,20
,20
,25
,18
,30
,20
,25
,25
,25
,20
,20
,25
,20
,22
,15
,15
,22
,20
,10
,25
,20
,20
,15
,12
,20
,5
,20
,15
,15
,25
,25
,25
,15
,25
,22
,25
,20
,18
,22
,25
,35
,25
,25
,25
,35
,30
,22
,30
,50
,15
,25
,24
,20
,25
,25
,25
,12
,15
,22
,25
,25
,25
,25
,15
,20
,20
,15
,35
,30
,20
,22
,65
,20
,25
,22
,20
,25
,25
,20
,25
,15
,20
,12
,15
,10
,25
,15
,30
,35
,25
,25
,25
,25
,25
,40
,40
,25
,25
,20
,25
,25
,22
,25
,30
,25
,25
,30
,25
,25
,30
,25
,25
,20
,22
,22
,20
,25
,22
,25
,22
,40
,25
,25
,25
,22
,20
,35
,20
,35
,25
,22
,25
,25
,25
,25
,25
,40
,25
,30
,25
,20
,25
,25
,30
,22
,22
,20
,15
,15
,25
,25
,20
,20
,15
,25
,15
,20
,22
,25
,15
,15
,18
,5
,15
,25
,18
,40
,25
,25
,20
,30
,20
,25
,25
,25
,22
,22
,25
,25
,30
,25
,25
,25
,25
,20
,20
,25
,25
,25
,25
,20
,30
,25
,22
,30
,20
,20
,30
,25
,25
,30
,20
,25
,25
,24
,25
,30
,18
,15
,22
,22
,25
,22
,22
,25
,15
,20
,22
,18
,35
,20
,20
,20
,25
,25
,30
,15
,25
,22
,26
,25
,20
,25
,25
,25
,22
,25
,25
,20
,22
,30
,15
,30
,25
,20
,25
,25
,35
,22
,20
,25
,20
,20
,18
,20
,22
,25
,10
,20
,25
,20
,20
,30
,25
,20
,15
,20
,25
,10
,20
,25
,22
,22
,25
,25
,15
,25
,20
,10
,25
,16
,25
,35
,25
,15
,25
,25
,30
,25
,10
,22
,20
,25
,20
,20
,25
,22
,18
,30
,19
,25
,20
,25
,20
,25
,20
,22
,12
,30
,12
,22
,25
,25
,25
,25
,30
,30
,10
,22
,22
,25
,20
,22
,20
,25
,20
,15
,25
,20
,25
,20
,30
,15
,40
,25
,20
,22
,22
,30
,20
,40
,20
,25
,20
,25
,20
,50
,50
,25
,25
,40
,30
,22
,30
,20
,25
,25
,30
,25
,25
,20
,18
,18
,28
,25
,22
,15
,40
,40
,12
,12
,18
,12
,25
,26
,18
,25
,22
,15
,25
,15
,15
,15
,25
,15
,12
,22
,20
,20
,25
,20
,12
,9
,15
,12
,15
,25
,20
,20
,15
,15
,30
,21
,25
,22
,22
,50
,15
,25
,15
,25
,22
,18
,50
,20
,50
,20
,20
,30
,25
,20
,22
,25
,50
,40
,25
,25
,25
,25
,30
,40
,25
,30
,20)
par4 = 'P1 P5 Q1 Q3 P95 P99'
par3 = '0'
par2 = '5'
par1 = '50'
par4 <- 'P1 P5 Q1 Q3 P95 P99'
par3 <- '0'
par2 <- '5'
par1 <- '50'
#'GNU S' R Code compiled by R2WASP v. 1.2.327 ()
#Author: root
#To cite this work: Wessa P., (2013), Bootstrap Plot for Central Tendency (v1.0.13) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_bootstrapplot1.wasp/
#Source of accompanying publication: Office for Research, Development, and Education
#
par1 <- as.numeric(par1)
par2 <- as.numeric(par2)
if (par3 == '0') bw <- NULL
if (par3 != '0') bw <- as.numeric(par3)
if (par1 < 10) par1 = 10
if (par1 > 5000) par1 = 5000
library(modeest)
library(lattice)
library(boot)
boot.stat <- function(s,i)
{
s.mean <- mean(s[i])
s.median <- median(s[i])
s.midrange <- (max(s[i]) + min(s[i])) / 2
s.mode <- mlv(s[i], method='mfv')$M
s.kernelmode <- mlv(s[i], method='kernel', bw=bw)$M
c(s.mean, s.median, s.midrange, s.mode, s.kernelmode)
}
(r <- boot(x,boot.stat, R=par1, stype='i'))
postscript(file="/var/wessaorg/rcomp/tmp/1a67d1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
plot(r$t[,1],type='p',ylab='simulated values',main='Simulation of Mean')
grid()
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/2sg3y1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
plot(r$t[,2],type='p',ylab='simulated values',main='Simulation of Median')
grid()
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/3fqe41398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
plot(r$t[,3],type='p',ylab='simulated values',main='Simulation of Midrange')
grid()
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/4rhwy1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
plot(r$t[,4],type='p',ylab='simulated values',main='Simulation of Mode')
grid()
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/59op61398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
plot(r$t[,5],type='p',ylab='simulated values',main='Simulation of Mode of Kernel Density')
grid()
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/602kp1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
densityplot(~r$t[,1],col='black',main='Density Plot',xlab='mean')
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/7ybki1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
densityplot(~r$t[,2],col='black',main='Density Plot',xlab='median')
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/8r4xd1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
densityplot(~r$t[,3],col='black',main='Density Plot',xlab='midrange')
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/9xjw21398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
densityplot(~r$t[,4],col='black',main='Density Plot',xlab='mode')
dev.off()
postscript(file="/var/wessaorg/rcomp/tmp/10znh01398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
densityplot(~r$t[,5],col='black',main='Density Plot',xlab='mode of kernel dens.')
dev.off()
z <- data.frame(cbind(r$t[,1],r$t[,2],r$t[,3],r$t[,4],r$t[,5]))
colnames(z) <- list('mean','median','midrange','mode','mode k.dens')
postscript(file="/var/wessaorg/rcomp/tmp/11eyfz1398114300.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
boxplot(z,notch=TRUE,ylab='simulated values',main='Bootstrap Simulation - Central Tendency')
grid()
dev.off()

#Note: the /var/wessaorg/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab
load(file="/var/wessaorg/rcomp/createtable")

a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Estimation Results of Bootstrap',10,TRUE)
a<-table.row.end(a)
if (par4 == 'P1 P5 Q1 Q3 P95 P99') {
myq.1 <- 0.01
myq.2 <- 0.05
myq.3 <- 0.95
myq.4 <- 0.99
myl.1 <- 'P1'
myl.2 <- 'P5'
myl.3 <- 'P95'
myl.4 <- 'P99'
}
if (par4 == 'P0.5 P2.5 Q1 Q3 P97.5 P99.5') {
myq.1 <- 0.005
myq.2 <- 0.025
myq.3 <- 0.975
myq.4 <- 0.995
myl.1 <- 'P0.5'
myl.2 <- 'P2.5'
myl.3 <- 'P97.5'
myl.4 <- 'P99.5'
}
if (par4 == 'P10 P20 Q1 Q3 P80 P90') {
myq.1 <- 0.10
myq.2 <- 0.20
myq.3 <- 0.80
myq.4 <- 0.90
myl.1 <- 'P10'
myl.2 <- 'P20'
myl.3 <- 'P80'
myl.4 <- 'P90'
}
a<-table.row.start(a)
a<-table.element(a,'statistic',header=TRUE)
a<-table.element(a,myl.1,header=TRUE)
a<-table.element(a,myl.2,header=TRUE)
a<-table.element(a,'Q1',header=TRUE)
a<-table.element(a,'Estimate',header=TRUE)
a<-table.element(a,'Q3',header=TRUE)
a<-table.element(a,myl.3,header=TRUE)
a<-table.element(a,myl.4,header=TRUE)
a<-table.element(a,'S.D.',header=TRUE)
a<-table.element(a,'IQR',header=TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'mean',header=TRUE)
q1 <- quantile(r$t[,1],0.25)[[1]]
q3 <- quantile(r$t[,1],0.75)[[1]]
p01 <- quantile(r$t[,1],myq.1)[[1]]
p05 <- quantile(r$t[,1],myq.2)[[1]]
p95 <- quantile(r$t[,1],myq.3)[[1]]
p99 <- quantile(r$t[,1],myq.4)[[1]]
a<-table.element(a,signif(p01,par2))
a<-table.element(a,signif(p05,par2))
a<-table.element(a,signif(q1,par2))
a<-table.element(a,signif(r$t0[1],par2))
a<-table.element(a,signif(q3,par2))
a<-table.element(a,signif(p95,par2))
a<-table.element(a,signif(p99,par2))
a<-table.element( a,signif( sqrt(var(r$t[,1])),par2 ) )
a<-table.element(a,signif(q3-q1,par2))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'median',header=TRUE)
q1 <- quantile(r$t[,2],0.25)[[1]]
q3 <- quantile(r$t[,2],0.75)[[1]]
p01 <- quantile(r$t[,2],myq.1)[[1]]
p05 <- quantile(r$t[,2],myq.2)[[1]]
p95 <- quantile(r$t[,2],myq.3)[[1]]
p99 <- quantile(r$t[,2],myq.4)[[1]]
a<-table.element(a,signif(p01,par2))
a<-table.element(a,signif(p05,par2))
a<-table.element(a,signif(q1,par2))
a<-table.element(a,signif(r$t0[2],par2))
a<-table.element(a,signif(q3,par2))
a<-table.element(a,signif(p95,par2))
a<-table.element(a,signif(p99,par2))
a<-table.element(a,signif(sqrt(var(r$t[,2])),par2))
a<-table.element(a,signif(q3-q1,par2))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'midrange',header=TRUE)
q1 <- quantile(r$t[,3],0.25)[[1]]
q3 <- quantile(r$t[,3],0.75)[[1]]
p01 <- quantile(r$t[,3],myq.1)[[1]]
p05 <- quantile(r$t[,3],myq.2)[[1]]
p95 <- quantile(r$t[,3],myq.3)[[1]]
p99 <- quantile(r$t[,3],myq.4)[[1]]
a<-table.element(a,signif(p01,par2))
a<-table.element(a,signif(p05,par2))
a<-table.element(a,signif(q1,par2))
a<-table.element(a,signif(r$t0[3],par2))
a<-table.element(a,signif(q3,par2))
a<-table.element(a,signif(p95,par2))
a<-table.element(a,signif(p99,par2))
a<-table.element(a,signif(sqrt(var(r$t[,3])),par2))
a<-table.element(a,signif(q3-q1,par2))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'mode',header=TRUE)
q1 <- quantile(r$t[,4],0.25)[[1]]
q3 <- quantile(r$t[,4],0.75)[[1]]
p01 <- quantile(r$t[,4],myq.1)[[1]]
p05 <- quantile(r$t[,4],myq.2)[[1]]
p95 <- quantile(r$t[,4],myq.3)[[1]]
p99 <- quantile(r$t[,4],myq.4)[[1]]
a<-table.element(a,signif(p01,par2))
a<-table.element(a,signif(p05,par2))
a<-table.element(a,signif(q1,par2))
a<-table.element(a,signif(r$t0[4],par2))
a<-table.element(a,signif(q3,par2))
a<-table.element(a,signif(p95,par2))
a<-table.element(a,signif(p99,par2))
a<-table.element(a,signif(sqrt(var(r$t[,4])),par2))
a<-table.element(a,signif(q3-q1,par2))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'mode k.dens',header=TRUE)
q1 <- quantile(r$t[,5],0.25)[[1]]
q3 <- quantile(r$t[,5],0.75)[[1]]
p01 <- quantile(r$t[,5],myq.1)[[1]]
p05 <- quantile(r$t[,5],myq.2)[[1]]
p95 <- quantile(r$t[,5],myq.3)[[1]]
p99 <- quantile(r$t[,5],myq.4)[[1]]
a<-table.element(a,signif(p01,par2))
a<-table.element(a,signif(p05,par2))
a<-table.element(a,signif(q1,par2))
a<-table.element(a,signif(r$t0[5],par2))
a<-table.element(a,signif(q3,par2))
a<-table.element(a,signif(p95,par2))
a<-table.element(a,signif(p99,par2))
a<-table.element(a,signif(sqrt(var(r$t[,5])),par2))
a<-table.element(a,signif(q3-q1,par2))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file="/var/wessaorg/rcomp/tmp/120y4m1398114300.tab") 

try(system("convert tmp/1a67d1398114300.ps tmp/1a67d1398114300.png",intern=TRUE))
try(system("convert tmp/2sg3y1398114300.ps tmp/2sg3y1398114300.png",intern=TRUE))
try(system("convert tmp/3fqe41398114300.ps tmp/3fqe41398114300.png",intern=TRUE))
try(system("convert tmp/4rhwy1398114300.ps tmp/4rhwy1398114300.png",intern=TRUE))
try(system("convert tmp/59op61398114300.ps tmp/59op61398114300.png",intern=TRUE))
try(system("convert tmp/602kp1398114300.ps tmp/602kp1398114300.png",intern=TRUE))
try(system("convert tmp/7ybki1398114300.ps tmp/7ybki1398114300.png",intern=TRUE))
try(system("convert tmp/8r4xd1398114300.ps tmp/8r4xd1398114300.png",intern=TRUE))
try(system("convert tmp/9xjw21398114300.ps tmp/9xjw21398114300.png",intern=TRUE))
try(system("convert tmp/10znh01398114300.ps tmp/10znh01398114300.png",intern=TRUE))
try(system("convert tmp/11eyfz1398114300.ps tmp/11eyfz1398114300.png",intern=TRUE))

