Skip to contents

Resamples x with replacement R times, applies FUN to each resample, and returns the percentile interval of the resampled statistics together with the observed value.

Usage

bootstrap_ci(x, FUN = stats::median, R = 2000, conf.level = 0.95, seed = NULL)

Arguments

x

A numeric vector.

FUN

A function of one vector returning a single number. Defaults to stats::median().

R

Integer. Number of bootstrap resamples. Defaults to 2000.

conf.level

Confidence level. Defaults to 0.95.

seed

Integer or NULL. When supplied, sets the random seed so the interval is reproducible.

Value

A named numeric vector: estimate, lower, upper, with attributes resamples, valid_resamples and, when the interval is withheld, reason. The bounds are NA when fewer than 90% of resamples give a value, or when every resample gives the same value, since neither leaves a sampling distribution to read. The bounds are NA when x has fewer than 3 finite values.

Examples

bootstrap_ci(mtcars$mpg, seed = 42)
#> estimate    lower    upper 
#>    19.20    16.85    21.40 
#> attr(,"resamples")
#> [1] 2000
#> attr(,"valid_resamples")
#> [1] 2000
bootstrap_ci(mtcars$mpg, FUN = mean, conf.level = 0.90, seed = 42)
#> estimate    lower    upper 
#> 20.09062 18.41875 21.80031 
#> attr(,"resamples")
#> [1] 2000
#> attr(,"valid_resamples")
#> [1] 2000