bootstrap.Rd
Computes a test statistic over multiple replicates from a set of data. Replicates are created drawing a sample of the same size and with replacement from the original set of data.
bootstrap(x, t_x = mean, N = 1000, summary = NULL, ...)
A vector of values.
A function to compute a test statistic;
the first argument must be for x
.
The number of samples with replacement
to draw from X
.
An optional function to apply to the test statistics after resampling.
Additional parameters for the t_x
function.
A list consisting of...
observed = the value of the test statistic for the original data set.
replicates = the values of the test statistic for each of the replicates produced via resampling.
summary = the output of summary function
applied over the replicates; NULL
if
no summary function was specified.
# Simulate from normal distribution
set.seed(200)
x <- rnorm(50, mean = 100, sd = 15)
# Use bootstrap method to estimate
# sampling distribution for the mean
btstrp <- bootstrap(x)
hist(btstrp$replicates,
main = "",
xlab = "Sampling distribution - mean"
)
# True mean
abline(v = 100, lwd = 1)
# Estimate of standard error
print(round(sem(x), 1))
#> [1] 1.7
# Estimate of standard error
# computed from bootstrapped samples
btstrp <- bootstrap(x, summary = sd)
print(round(btstrp$summary, 1))
#> [1] 1.7
# 95% confidence interval around the mean
# using bootstrapped samples
f <- function(y) {
paste(round(quantile(y, c(.025, .975)), 1),
collapse = " to "
)
}
btstrp <- bootstrap(x, summary = f)
print(btstrp$summary)
#> [1] "95.4 to 102.1"
# Use bootstrap method to estimate
# sampling distribution for the median
# (which has no close-formed solution)
btstrp <- bootstrap(x, t_x = median)
hist(btstrp$replicates,
main = "",
xlab = "Sampling distribution - median"
)