Perform repeated sampling of samples of size n. Useful for creating sampling distributions
rep_sample_n(tbl, size, replace = FALSE, reps = 1, prob = NULL)
data frame of population from which to sample
sample size of each sample
should sampling be with replacement?
number of samples of size n = size
to take
a vector of probability weights for obtaining the elements of the vector being sampled.
A tibble of size rep
times size
rows corresponding to
rep
samples of size n = size
from tbl
.
# NOT RUN {
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(ggplot2))
# A virtual population of N = 10,010, of which 3091 are hurricanes
population <- dplyr::storms %>%
select(status)
# Take samples of size n = 50 storms without replacement; do this 1000 times
samples <- population %>%
rep_sample_n(size = 50, reps = 1000)
samples
# Compute p_hats for all 1000 samples = proportion hurricanes
p_hats <- samples %>%
group_by(replicate) %>%
summarize(prop_hurricane = mean(status == "hurricane"))
p_hats
# Plot sampling distribution
ggplot(p_hats, aes(x = prop_hurricane)) +
geom_density() +
labs(x = "p_hat", y = "Number of samples",
title = "Sampling distribution of p_hat from 1000 samples of size 50")
# }
Run the code above in your browser using DataLab