# boot.ci

##### Nonparametric Bootstrap Confidence Intervals

This function generates 5 different types of equi-tailed two-sided nonparametric confidence intervals. These are the first order normal approximation, the basic bootstrap interval, the studentized bootstrap interval, the bootstrap percentile interval, and the adjusted bootstrap percentile (BCa) interval. All or a subset of these intervals can be generated.

- Keywords
- htest, nonparametric

##### Usage

```
boot.ci(boot.out, conf=0.95, type="all",
index=1:min(2,length(boot.out$t0), var.t0=NULL,
var.t=NULL, t0=NULL, t=NULL, L=NULL, h=function(t) t,
hdot=function(t) rep(1,length(t)), hinv=function(t) t, ...)
```

##### Arguments

- boot.out
- An object of class
`"boot"`

containing the output of a bootstrap calculation. - conf
- A scalar or vector containing the confidence level(s) of the required interval(s).
- type
- A vector of character strings representing the type of intervals required.
The value should be any subset of the values
`c("norm","basic", "stud", "perc", "bca")`

or simply`"all"`

which will compute all five types of intervals. - index
- This should be a vector of length 1 or 2. The first element of
`index`

indicates the position of the variable of interest in`boot.out$t0`

and the relevant column in`boot.out$t`

. The second element indicates the positi - var.t0
- If supplied, a value to be used as an estimate of the variance of the
statistic for the normal approximation and studentized intervals. If it is not
supplied and
`length(index)`

is 2 then`var.t0`

defaults to`boot.out$t0[inde`

- var.t
- This is a vector (of length
`boot.out$R`

) of variances of the bootstrap replicates of the variable of interest. It is used only for studentized intervals. If it is not supplied and`length(index)`

is 2 then`var.t`

defa - t0
- The observed value of the statistic of interest. The default value is
`boot.out$t0[index[1]]`

. Specification of`t0`

and`t`

allows the user to get intervals for a transformed statistic which may not be in the bootstra - t
- The bootstrap replicates of the statistic of interest. It must be a vector of
length
`boot.out$R`

. It is an error to supply one of`t0`

or`t`

but not the other. Also if studentized intervals are required and`t0`

- L
- The empirical influence values of the statistic of interest for the observed
data. These are used only for BCa intervals. If a transformation is supplied
through the parameter
`h`

then`L`

should be the influence values for - h
- A function defining a transformation. The intervals are calculated
on the scale of
`h(t)`

and the inverse function`hinv`

applied to the resulting intervals. It must be a function of one variable only and for a vector argument, it - hdot
- A function of one argument returning the derivative of
`h`

. It is a required argument if`h`

is supplied and normal, studentized or BCa intervals are required. The function is used for approximating the variances of`h(t0)`

- hinv
- A function, like
`h`

, which returns the inverse of`h`

. It is used to transform the intervals calculated on the scale of`h(t)`

back to the original scale. The default is the identity function. If`h`

is suppl - ...
- Any extra arguments that
`boot.out$statistic`

is expecting. These arguments are needed only if BCa intervals are required and`L`

is not supplied since in that case`L`

is calculated through a call to`empinf`

```
```

```
```

```
```
##### Details

The formulae on which the calculations are based can be found in Chapter 5
of Davison and Hinkley (1997). Function `boot`

must be run prior to running
this function to create the object to be passed as `boot.out`

.

Variance estimates are required for studentized intervals. The variance of the
observed statistic is optional for normal theory intervals. If it is not
supplied then the bootstrap estimate of variance is used. The normal intervals
also use the bootstrap bias correction.

Interpolation on the normal quantile scale is used when a non-integer order
statistic is required. If the order statistic used is the smallest or largest
of the R values in boot.out a warning is generated and such intervals should
not be considered reliable.

##### Value

- An object of type
`"bootci"`

which contains the intervals. See `bootci.object`

for further details.

##### References

Davison, A.C. and Hinkley, D.V. (1997)
*Bootstrap Methods and Their Application*, Chapter 5. Cambridge University Press.

DiCiccio, T.J. and Efron B. (1996) Bootstrap confidence intervals (with
Discussion). *Statistical Science*, **11**, 189-228.

Efron, B. (1987) Better bootstrap confidence intervals (with Discussion).
*Journal of the American Statistical Association*, **82**, 171-200.

##### See Also

##### Examples

```
# confidence intervals for the city data
data(city)
ratio <- function(d, w)
sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R=999, stype="w",sim="ordinary")
boot.ci(city.boot, conf=c(0.90,0.95),
type=c("norm","basic","perc","bca"))
# studentized confidence interval for the two sample
# difference of means problem using the final two series
# of the gravity data.
data(gravity)
diff.means <- function(d, f)
{ n <- nrow(d)
gp1 <- 1:table(as.numeric(d$series))[1]
m1 <- sum(d[gp1,1] * f[gp1])/sum(f[gp1])
m2 <- sum(d[-gp1,1] * f[-gp1])/sum(f[-gp1])
ss1 <- sum(d[gp1,1]^2 * f[gp1]) -
(m1 * m1 * sum(f[gp1]))
ss2 <- sum(d[-gp1,1]^2 * f[-gp1]) -
(m2 * m2 * sum(f[-gp1]))
c(m1-m2, (ss1+ss2)/(sum(f)-2))
}
grav1 <- gravity[as.numeric(gravity[,2])>=7,]
grav1.boot <- boot(grav1, diff.means, R=999, stype="f", strata=grav1[,2])
boot.ci(grav1.boot, type=c("stud","norm"))
# Nonparametric confidence intervals for mean failure time
# of the air-conditioning data as in Example 5.4 of Davison
# and Hinkley (1997)
data(aircondit)
mean.fun <- function(d, i)
{ m <- mean(d$hours[i])
n <- length(i)
v <- (n-1)*var(d$hours[i])/n^2
c(m, v)
}
air.boot <- boot(aircondit, mean.fun, R=999)
boot.ci(air.boot, type=c("norm", "basic", "perc", "stud"))
# Now using the log transformation
# There are two ways of doing this and they both give the
# same intervals.
# Method 1
boot.ci(air.boot, type=c("norm", "basic", "perc", "stud"),
h=log, hdot=function(x) 1/x)
# Method 2
vt0<-air.boot$t0[2]/air.boot$t0[1]^2
vt <- air.boot$t[,2]/air.boot$t[,1]^2
boot.ci(air.boot, type=c("norm", "basic", "perc", "stud"),
t0=log(air.boot$t0[1]), t=log(air.boot$t[,1]),
var.t0=vt0, var.t=vt)
```

* Documentation reproduced from package boot, version 1.1-3,
License: Unlimited distribution.
*
### Community examples

Looks like there are no examples yet.

```
```

```
```

```
```