Cette vignette illustre le pipeline complet d’analyse d’une Enquête Démographique et de Santé (EDS) ou d’une Enquête sur les Conditions de Vie (EMOP/EMICOV), avec pondération complexe (strates + grappes).
set.seed(2024)
n <- 5000
donnees_eds <- tibble::tibble(
id_menage = paste0("MEN_", stringr::str_pad(1:n, 5, pad = "0")),
strate = sample(c("Urbain_Nord", "Urbain_Sud", "Rural_Nord",
"Rural_Sud"), n, replace = TRUE),
grappe = sample(1:250, n, replace = TRUE),
poids_final = runif(n, 0.4, 3.2),
region = sample(c("Alibori", "Atacora", "Atlantique",
"Borgou", "Collines", "Couffo",
"Donga", "Littoral"), n, replace = TRUE),
milieu = sample(c("Urbain", "Rural"), n, replace = TRUE,
prob = c(0.4, 0.6)),
age_chef = sample(25:75, n, replace = TRUE),
sexe_chef = sample(c("Masculin", "Féminin"), n, replace = TRUE,
prob = c(0.75, 0.25)),
taille_menage = sample(1:12, n, replace = TRUE,
prob = c(0.05, 0.1, 0.15, 0.2, 0.18,
0.12, 0.08, 0.05, 0.03,
0.02, 0.01, 0.01)),
depense_totale = abs(rnorm(n, 850000, 420000)),
acces_eau = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.35, 0.65)),
electricite = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.45, 0.55)),
scolarisation = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.28, 0.72))
)
cat("Ménages :", nrow(donnees_eds), "\n")
cat("Régions :", length(unique(donnees_eds$region)), "\n")library(ggplot2)
pyramide_ages(
donnees_eds,
var_age = "age_chef",
var_sexe = "sexe_chef",
poids = "poids_final",
titre = "Pyramide des âges — Chefs de ménage",
largeur_classe = 10L
)stats_region <- stat_descr(
donnees_eds,
vars = "depense_totale",
groupe = "region_std",
ic = TRUE
)
graphique_barres(
stats_region,
var_x = "region_std",
var_y = "moyenne",
var_ic_bas = "ic_bas",
var_ic_haut = "ic_haut",
titre = "Dépense moyenne par région (FCFA)",
label_y = "Dépense moyenne (FCFA)",
trier = TRUE
) + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 45, hjust = 1))# Déterminants de la dépense
modele <- analyse_regression(
log(depense_totale) ~ age_chef + taille_menage + electricite + acces_eau,
data = donnees_eds,
type = "lineaire",
format_sortie = "tibble"
)
knitr::kable(
modele[, c("terme", "estimateur", "ic_bas", "ic_haut",
"p_valeur", "significatif")],
caption = "Déterminants de la dépense des ménages"
)# Anonymisation
donnees_anon <- anonymiser_donnees(
donnees_eds,
vars_supprimer = c("id_menage"),
vars_generaliser = list(age_chef = 10, depense_totale = 100000),
rapport = FALSE
)
# Métadonnées DDI
generer_metadonnees_ddi(
data = donnees_anon,
titre = "Enquête Démographique et de Santé — 2024",
pays = "Bénin",
annee = 2024,
institution = "INSAE",
fichier_sortie = "outputs/eds_2024_ddi.xml"
)
# Package de diffusion
compresser_package_diffusion(
donnees = donnees_anon,
repertoire_sortie = "diffusion/",
nom_package = "EDS_BEN_2024_v1"
)