TITLE(bootstrap @@ Non-parametric bootstrapping )
USAGE(
bootstrap(x,nboot,theta,..., func=NULL)
)
ARGUMENTS(
ARG(x@@
a vector containing the data. To bootstrap  more complex data structures (e.g
bivariate data) see the last example below.)
ARG(nboot@@
The number of bootstrap samples desired.)
ARG(theta@@
function to be bootstrapped. Takes x as an argument, and
may take additional arguments (see below and last example).)
ARG(...@@
any additional arguments to be passed to theta)
ARG(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. )
)
VALUES(
list with the following components:
ARG(thetastar@@
 the nboot bootstrap values of theta)
ARG(func.thetastar@@
 the LANG(func)tional LANG(func) of the bootstrap distribution of
thetastar, if func was specified) 
ARG(jack.boot.val@@
the jackknife-after-bootstrap values for func, if func was specified)
ARG(jack.boot.se@@
the jackknife-after-bootstrap standard error estimate of func, if func
was specified) 
)
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.
PARA
Efron, B. (1992) Jackknife-after-bootstrap standard errors and
influence functions. J. Roy. Stat. Soc. B, vol 54, pages 83-127
PARA
Efron, B. and Tibshirani, R. (1993) An Introduction to the Bootstrap.
Chapman and Hall, New York, London.
)
EXAMPLES(
# 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)
)

