R version 3.0.2 (2013-09-25) -- "Frisbee Sailing" Copyright (C) 2013 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > x <- c(6,6.7,-0.6,5.8,16.4,1.5,5.1,14.7,4.3,1.5,9.1,4.3,5.7,13,14.5,9.7,-4.7,7.3,5.2,-2.5,11.5,4.9,-2.4,-0.3,4.4,7.9,-9.7,-4.1,16.4,-4.9,3.5,3.8,-0.2,3.1,0.7,-2.8,5.9,-5.3,-2.9,6.6,-8.1,1.3,6.9,-7.2,-1.9,4,-5.7,3.9,-7.6,-0.9,7.3,-3.7,-2.5,9.3,1.3,9.5,11.3,-1.7,8,-4.8,1.6,1.9,-0.9,5.5,1.7,-5.4,1.9,0.2,-13.3,-8.2,0.2,5.7,-1.2,-2.8,5.5,-17.3,1.4,-2.2,-8.6,-5,4.1,0.7,-4.2,-2.3,-3.4,-4.2,-14.2,1.6,-4.9,-1.8,-0.5,-2.3,-5.3,-0.2,5.1,-1.5) > par4 = 'P1 P5 Q1 Q3 P95 P99' > par3 = '0' > par2 = '5' > par1 = '200' > par4 <- 'P1 P5 Q1 Q3 P95 P99' > par3 <- '0' > par2 <- '5' > par1 <- '200' > #'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) This is package 'modeest' written by P. PONCET. For a complete list of functions, use 'library(help = "modeest")' or 'help.start()'. > library(lattice) > library(boot) Attaching package: 'boot' The following object is masked from 'package:lattice': melanoma > 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')) ORDINARY NONPARAMETRIC BOOTSTRAP Call: boot(data = x, statistic = boot.stat, R = par1, stype = "i") Bootstrap Statistics : original bias std. error t1* 1.0958333 -0.02172917 0.6658679 t2* 1.0000000 -0.20475000 0.9256343 t3* -0.4500000 0.66575000 1.0975827 t4* 1.4200000 0.03095000 5.2679299 t5* -0.9249105 1.01131953 2.7984997 Warning messages: 1: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 2: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 3: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 4: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 5: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 6: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 7: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 8: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal 9: In .deal.ties(ny, i, tie.action, tie.limit) : encountered a tie, and the difference between minimal and maximal value is > length('x') * 'tie.limit' the distribution could be multimodal > postscript(file="/var/wessaorg/rcomp/tmp/1k64i1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/2x5az1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/36n9k1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/432ns1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/5dbdv1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/6tj0l1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/741ye1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/8x4se1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/9qczq1429522867.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() null device 1 > postscript(file="/var/wessaorg/rcomp/tmp/10ea8e1429522867.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() null device 1 > 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/111kw11429522867.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') Warning message: In bxp(list(stats = c(-0.592708333333333, 0.619791666666667, 1.05572916666667, : some notches went outside hinges ('box'): maybe set notch=FALSE > grid() > dev.off() null device 1 > > #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/12e0991429522867.tab") > > try(system("convert tmp/1k64i1429522867.ps tmp/1k64i1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/2x5az1429522867.ps tmp/2x5az1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/36n9k1429522867.ps tmp/36n9k1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/432ns1429522867.ps tmp/432ns1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/5dbdv1429522867.ps tmp/5dbdv1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/6tj0l1429522867.ps tmp/6tj0l1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/741ye1429522867.ps tmp/741ye1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/8x4se1429522867.ps tmp/8x4se1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/9qczq1429522867.ps tmp/9qczq1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/10ea8e1429522867.ps tmp/10ea8e1429522867.png",intern=TRUE)) character(0) > try(system("convert tmp/111kw11429522867.ps tmp/111kw11429522867.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 5.109 0.682 5.840