svySE provides a workflow for estimating sampling errors
for complex survey indicators.
It is designed for binary or categorical indicators and supports weighted estimates, percentages, standard errors, confidence intervals, coefficients of variation, design effects, unweighted counts, grouped estimates, optional division variables, and Excel exports.
library(svySE)
set.seed(123)
df <- data.frame(
dept = rep(c("A", "B", "C"), each = 50),
strata = rep(c("A", "B", "C"), each = 50),
service = rep(c("S1", "S2"), length.out = 150),
weight = runif(150, 10, 50),
ind_1 = sample(c(0, 1), 150, replace = TRUE)
)
head(df)
#> dept strata service weight ind_1
#> 1 A A S1 21.50310 0
#> 2 A A S2 41.53221 1
#> 3 A A S1 26.35908 0
#> 4 A A S2 45.32070 1
#> 5 A A S1 47.61869 0
#> 6 A A S2 11.82226 0cfg <- svySE_cfg(
estimator = "prop",
target = 1,
valid_values = c(0, 1),
lonely_psu = "adjust",
truncate_lower_ci = TRUE
)
cfg
#> svySE configuration
#> --------------------------------------------------
#> Estimator : prop
#> Variance : taylor
#> Lonely PSU : adjust
#> Confidence level : 0.95
#> Target value : 1
#> Valid values : 0, 1
#> Truncate lower CI : TRUE
#> Percentage mult. : 100
#> Include DEFF : TRUE
#> Include CV : TRUE
#> Remove NA : TRUEres <- svySE_calc(
data = df,
indicators = "ind_1",
group_vars = "dept",
group_labels = "Department",
strata = "strata",
weight = "weight",
cfg = cfg,
verbose = FALSE
)
res
#> svySE result
#> --------------------------------------------------
#> Indicators : ind_1
#> Groups : dept
#> Strata : strata
#> Weight : weight
#> Division : NULL
#> Estimator : prop
#> Target : 1
#> Strict : FALSEres$results$ind_1$error$TOTAL
#> dept est_abs est_pct se_abs se_pct ci_l_abs ci_l_pct ci_u_abs
#> 1 NACIONAL 2274.6821 50.26904 213.8255 4.322635 1855.5919 41.79684 2693.7724
#> 2 A 760.7571 49.39397 129.0093 7.640085 507.9035 34.41968 1013.6106
#> 3 B 933.1969 64.17897 123.9632 7.179269 690.2334 50.10786 1176.1604
#> 4 C 580.7282 37.93676 117.0942 7.404192 351.2277 23.42481 810.2286
#> ci_u_pct cv deff n_unw
#> 1 58.74125 8.598999 1.151851 72
#> 2 64.36827 15.467646 1.224895 23
#> 3 78.25008 11.186326 1.110240 30
#> 4 52.44870 19.517198 1.213892 19The following example writes files to a temporary directory.