knitr::opts_chunk$set(echo = TRUE)
The goal of surveysd is to combine all necessary steps to use calibrated bootstrapping with
custom estimation functions. This vignette will cover the usage of the most important functions.
For insights in the theory used in this package, refer to
A test data set based on
data(eusilc, package = "laeken") can be created with
library(surveysd) set.seed(1234) eusilc <- demo.eusilc(n = 2, prettyNames = TRUE) eusilc[1:5, .(year, povertyRisk, gender, pWeight)]
Use stratified resampling without replacement to generate 10 samples. Those samples are consistent with respect to the reference periods.
dat_boot <- draw.bootstrap(eusilc, REP = 10, hid = "hid", weights = "pWeight", strata = "region", period = "year")
Calibrate each sample according to the distribution of
gender (on a personal level) and
(on a household level).
dat_boot_calib <- recalib(dat_boot, conP.var = "gender", conH.var = "region", epsP = 1e-2, epsH = 2.5e-2, verbose = FALSE) dat_boot_calib[1:5, .(year, povertyRisk, gender, pWeight, w1, w2, w3, w4)]
Estimate relative amount of persons at risk of poverty per period and
err.est <- calc.stError(dat_boot_calib, var = "povertyRisk", fun = weightedRatio, group = "gender") err.est$Estimates
The output contains estimates (
val_povertyRisk) as well as standard errors (
measured in percent. The rows with
gender = NA denotes the aggregate over all genders for the corresponding year.
Estimate relative amount of persons at risk of poverty per period for each
gender, and combination of both.
group <- list("gender", "region", c("gender", "region")) err.est <- calc.stError(dat_boot_calib, var = "povertyRisk", fun = weightedRatio, group = group) head(err.est$Estimates) ## skipping 54 more rows
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.