R version 2.11.1 (2010-05-31) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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(38,32,35,33,37,29,31,36,35,38,31,34,35,38,37,33,32,38,38,32,33,31,38,39,32,32,35,37,33,33,28,32,31,37,30,33,31,33,31,33,32,33,32,33,28,35,39,34,38,32,38,30,33,38,32,32,34,34,36,34,28,34,35,35,31,37,35,27,40,37,36,38,39,41,27,30,37,31,31,27,36,38,37,33,34,31,39,34,32,33,36,32,41,28,30,36,35,31,34,36,36,35,37,28,39,32,35,39,35,42,34,33,41,33,34,32,40,40,35,36,37,27,39,38,31,33,32,39,36,33,33,32,37,30,38,29,22,35,35,34,35,34,34,35,23,31,27,36,31,32,39,37,38,39,34,31,32,37,36,32,35,36) > par2 = '12' > par1 = '500' > par1 <- as.numeric(par1) > par2 <- as.numeric(par2) > if (par1 < 10) par1 = 10 > if (par1 > 5000) par1 = 5000 > if (par2 < 3) par2 = 3 > if (par2 > length(x)) par2 = length(x) > library(lattice) > library(boot) Attaching package: 'boot' The following object(s) are masked from 'package:lattice': melanoma > boot.stat <- function(s) + { + s.mean <- mean(s) + s.median <- median(s) + c(s.mean, s.median) + } > (r <- tsboot(x, boot.stat, R=par1, l=12, sim='fixed')) BLOCK BOOTSTRAP FOR TIME SERIES Fixed Block Length of 12 Call: tsboot(tseries = x, statistic = boot.stat, R = par1, l = 12, sim = "fixed") Bootstrap Statistics : original bias std. error t1* 34.09259 -0.02508642 0.2791518 t2* 34.00000 0.03100000 0.5070040 > z <- data.frame(cbind(r$t[,1],r$t[,2])) Warning message: In data.row.names(row.names, rowsi, i) : some row.names duplicated: 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271 [... truncated] > colnames(z) <- list('mean','median') > postscript(file="/var/www/rcomp/tmp/1a7a81290856378.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > b <- boxplot(z,notch=TRUE,ylab='simulated values',main='Bootstrap Simulation - Central Tendency') > grid() > dev.off() null device 1 > b $stats [,1] [,2] [1,] 33.40123 34 [2,] 33.87963 34 [3,] 34.06173 34 [4,] 34.24074 34 [5,] 34.75926 34 $n [1] 500 500 $conf [,1] [,2] [1,] 34.03621 34 [2,] 34.08724 34 $out [1] 33.33333 34.79012 34.82099 34.81481 34.85185 34.78395 33.32099 33.20370 [9] 35.00000 35.00000 33.00000 35.00000 33.00000 35.00000 34.50000 33.00000 [17] 35.00000 33.00000 33.00000 33.00000 33.50000 34.50000 35.00000 33.00000 [25] 35.00000 33.00000 33.00000 33.00000 35.00000 33.50000 33.00000 33.00000 [33] 35.00000 33.00000 35.00000 34.50000 33.00000 35.00000 33.00000 35.00000 [41] 35.00000 34.50000 34.50000 35.00000 33.00000 35.00000 35.00000 34.50000 [49] 35.00000 33.50000 35.00000 35.00000 34.50000 33.00000 35.00000 33.00000 [57] 33.00000 35.00000 35.00000 33.00000 33.00000 33.00000 35.00000 33.00000 [65] 34.50000 35.00000 33.00000 33.50000 33.00000 35.00000 33.50000 33.00000 [73] 33.50000 33.00000 33.00000 34.50000 33.00000 35.00000 35.00000 33.00000 [81] 35.00000 35.00000 35.00000 33.00000 35.00000 33.00000 35.00000 33.50000 [89] 35.00000 35.00000 33.00000 35.00000 35.00000 35.00000 34.50000 35.00000 [97] 35.00000 35.00000 35.00000 35.00000 33.00000 35.00000 33.00000 33.00000 [105] 34.50000 35.00000 33.00000 35.00000 33.00000 35.00000 33.50000 33.00000 [113] 35.00000 35.00000 33.00000 34.50000 33.00000 34.50000 33.00000 35.00000 [121] 34.50000 35.00000 35.00000 35.00000 35.00000 33.50000 35.00000 35.00000 [129] 33.00000 35.00000 33.00000 35.00000 35.00000 33.50000 33.00000 33.00000 [137] 35.00000 33.00000 35.00000 33.50000 33.50000 33.00000 35.00000 35.00000 [145] 35.00000 34.50000 35.00000 33.00000 33.00000 35.00000 33.00000 35.00000 [153] 33.00000 35.00000 33.00000 33.00000 35.00000 $group [1] 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [38] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [75] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [112] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [149] 2 2 2 2 2 2 2 2 2 $names [1] "mean" "median" > > #Note: the /var/www/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'Estimation Results of Blocked Bootstrap',6,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'statistic',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,'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]] > a<-table.element(a,q1) > a<-table.element(a,r$t0[1]) > a<-table.element(a,q3) > a<-table.element(a,sqrt(var(r$t[,1]))) > a<-table.element(a,q3-q1) > 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]] > a<-table.element(a,q1) > a<-table.element(a,r$t0[2]) > a<-table.element(a,q3) > a<-table.element(a,sqrt(var(r$t[,2]))) > a<-table.element(a,q3-q1) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/2h8tc1290856379.tab") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'95% Confidence Intervals',3,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'',1,TRUE) > a<-table.element(a,'Mean',1,TRUE) > a<-table.element(a,'Median',1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Lower Bound',1,TRUE) > a<-table.element(a,b$conf[1,1]) > a<-table.element(a,b$conf[1,2]) > a<-table.row.end(a) > a<-table.row.start(a) > a<-table.element(a,'Upper Bound',1,TRUE) > a<-table.element(a,b$conf[2,1]) > a<-table.element(a,b$conf[2,2]) > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/rcomp/tmp/32r901290856379.tab") > > try(system("convert tmp/1a7a81290856378.ps tmp/1a7a81290856378.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.080 0.250 1.292