Learn R Programming

bootstrap (version 2019.6)

bootstrap: Non-Parametric Bootstrapping

Description

See Efron and Tibshirani (1993) for details on this function.

Usage

bootstrap(x,nboot,theta,..., func=NULL)

Arguments

x

a vector containing the data. To bootstrap more complex data structures (e.g. bivariate data) see the last example below.

nboot

The number of bootstrap samples desired.

theta

function to be bootstrapped. Takes x as an argument, and may take additional arguments (see below and last example).

...

any additional arguments to be passed to theta

func

(optional) argument specifying the functional the distribution of thetahat that is desired. If func is specified, the jackknife after-bootstrap estimate of its standard error is also returned. See example below.

Value

list with the following components:

thetastar

the nboot bootstrap values of theta

func.thetastar

the functional func of the bootstrap distribution of thetastar, if func was specified

jack.boot.val

the jackknife-after-bootstrap values for func, if func was specified

jack.boot.se

the jackknife-after-bootstrap standard error estimate of func, if func was specified

call

the deparsed call

References

Efron, B. and Tibshirani, R. (1986). The bootstrap method for standard errors, confidence intervals, and other measures of statistical accuracy. Statistical Science, Vol 1., No. 1, pp 1-35.

Efron, B. (1992) Jackknife-after-bootstrap standard errors and influence functions. J. Roy. Stat. Soc. B, vol 54, pages 83-127

Efron, B. and Tibshirani, R. (1993) An Introduction to the Bootstrap. Chapman and Hall, New York, London.

Examples

Run this code
# NOT RUN {
# 100 bootstraps of the sample mean 
# (this is for illustration;  since "mean" is  a 
# built in function, bootstrap(x,100,mean) would be simpler!)
    x <- rnorm(20)                
    theta <- function(x){mean(x)} 
                              
    results <- bootstrap(x,100,theta)     
                             
# as above, but also estimate the 95th percentile   
# of the bootstrap dist'n of the mean, and         
# its jackknife-after-bootstrap  standard error    
                              
    perc95 <- function(x){quantile(x, .95)}
                             
                             
    results <-  bootstrap(x,100,theta, func=perc95)                                   
                                   
# To bootstrap functions of more complex data structures, 
# write theta so that its argument x
#  is the set of observation numbers  
#  and simply  pass as data to bootstrap the vector 1,2,..n. 
# For example, to bootstrap
# the correlation coefficient from a set of 15 data pairs:
   xdata <- matrix(rnorm(30),ncol=2)
   n <- 15
   theta <- function(x,xdata){ cor(xdata[x,1],xdata[x,2]) }
   results <- bootstrap(1:n,20,theta,xdata)
# }

Run the code above in your browser using DataLab