## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(DPrivStats) set.seed(42) ## ----------------------------------------------------------------------------- data(example_microdata) head(example_microdata) nrow(example_microdata) ## ----------------------------------------------------------------------------- budget <- new_privacy_budget(epsilon = 3.0, delta = 1e-6, composition = "rdp") budget ## ----------------------------------------------------------------------------- income_bounds <- c(0, 500000) m <- dp_mean(example_microdata$income, epsilon = 0.5, bounds = income_bounds, mechanism = "laplace") m ## ----------------------------------------------------------------------------- m$sensitivity ## ----------------------------------------------------------------------------- dp_median(example_microdata$income, epsilon = 0.5, bounds = income_bounds, n_bins = 200)$estimate hist_fit <- dp_histogram(example_microdata$income, epsilon = 1.0, breaks = seq(0, 500000, by = 100000), normalize = TRUE) round(hist_fit$estimate, 4) ## ----------------------------------------------------------------------------- sub <- subset(example_microdata, region %in% c("North", "South")) tt <- dp_t_test(x = sub$income[sub$region == "North"], y = sub$income[sub$region == "South"], epsilon = 1.0, bounds = income_bounds) tt ## ----------------------------------------------------------------------------- budget <- spend(budget, 0.5, description = "DP mean income") budget <- spend(budget, 0.5, description = "DP median income") budget <- spend(budget, 1.0, description = "DP histogram") budget <- spend(budget, 1.0, description = "DP t-test") budget