The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Cette vignette présente le calcul des indicateurs de développement humain conformes aux méthodologies internationales PNUD/OPHI, directement utilisables pour les rapports nationaux sur les ODD.
idh_benin <- calcul_idh(
esperance_vie = 61.8,
annees_scol_moy = 4.5,
annees_scol_att = 13.1,
rnb_habitant = 3360,
annee = 2023
)
cat("IDH Bénin 2023 :\n")
#> IDH Bénin 2023 :
cat(" IDH global :", idh_benin$idh, "\n")
#> IDH global : 0.56
cat(" Santé :", idh_benin$indice_sante, "\n")
#> Santé : 0.6431
cat(" Éducation :", idh_benin$indice_education, "\n")
#> Éducation : 0.5139
cat(" Revenu :", idh_benin$indice_revenu, "\n")
#> Revenu : 0.5309
cat(" Catégorie :", idh_benin$categorie, "\n")
#> Catégorie : Moyenpays_afrique <- tibble::tibble(
pays = c("Bénin", "Burkina Faso", "Sénégal",
"Côte d'Ivoire", "Mali", "Niger",
"Togo", "Guinée"),
esperance_vie = c(61.8, 61.6, 68.7, 59.1, 59.3, 62.4, 61.5, 58.9),
annees_scol_moy = c(4.5, 2.0, 3.5, 5.3, 2.4, 2.1, 5.5, 3.1),
annees_scol_att = c(13.1, 9.3, 14.5, 12.1, 7.5, 9.9, 13.1, 11.2),
rnb_habitant = c(3360, 2310, 3690, 5510, 2200, 1340, 2780, 2420)
)
idh_regional <- pays_afrique |>
dplyr::rowwise() |>
dplyr::mutate(
res = list(calcul_idh(esperance_vie, annees_scol_moy,
annees_scol_att, rnb_habitant)),
idh = res$idh,
indice_sante = res$indice_sante,
indice_educ = res$indice_education,
indice_revenu = res$indice_revenu,
categorie = res$categorie
) |>
dplyr::select(-res) |>
dplyr::ungroup() |>
dplyr::arrange(dplyr::desc(idh))
knitr::kable(
idh_regional[, c("pays", "idh", "categorie",
"indice_sante", "indice_educ", "indice_revenu")],
caption = "IDH — Comparaison régionale Afrique de l'Ouest",
digits = 3
)| pays | idh | categorie | indice_sante | indice_educ | indice_revenu |
|---|---|---|---|---|---|
| Sénégal | 0.596 | Moyen | 0.749 | 0.519 | 0.545 |
| Côte d’Ivoire | 0.572 | Moyen | 0.602 | 0.513 | 0.606 |
| Bénin | 0.560 | Moyen | 0.643 | 0.514 | 0.531 |
| Togo | 0.560 | Moyen | 0.638 | 0.547 | 0.502 |
| Guinée | 0.492 | Faible | 0.599 | 0.414 | 0.481 |
| Burkina Faso | 0.462 | Faible | 0.640 | 0.325 | 0.474 |
| Niger | 0.445 | Faible | 0.652 | 0.345 | 0.392 |
| Mali | 0.433 | Faible | 0.605 | 0.288 | 0.467 |
idh_long <- idh_regional |>
tidyr::pivot_longer(
cols = c(indice_sante, indice_educ, indice_revenu),
names_to = "composante",
values_to = "valeur"
) |>
dplyr::mutate(
composante = dplyr::recode(composante,
indice_sante = "Santé",
indice_educ = "Éducation",
indice_revenu = "Revenu"
),
pays = forcats::fct_reorder(pays, idh)
)
graphique_barres(
idh_long,
var_x = "pays",
var_y = "valeur",
var_groupe = "composante",
position = "stack",
titre = "Composantes de l'IDH — Afrique de l'Ouest",
label_y = "Valeur de l'indice"
) + ggplot2::coord_flip()set.seed(2024)
n <- 3000
donnees_menages <- tibble::tibble(
id_menage = 1:n,
region = sample(c("Nord", "Sud", "Est", "Ouest"), n, replace = TRUE),
milieu = sample(c("Urbain", "Rural"), n, replace = TRUE,
prob = c(0.35, 0.65)),
poids = runif(n, 0.5, 2.5),
# Dimension Santé
malnutrition = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.72, 0.28)),
mortalite_enf = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.88, 0.12)),
# Dimension Éducation
scol_adulte = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.62, 0.38)),
scol_enfants = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.71, 0.29)),
# Dimension Niveau de vie
electricite = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.52, 0.48)),
eau_potable = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.58, 0.42)),
assainissement = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.55, 0.45)),
combustible = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.60, 0.40)),
logement = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.75, 0.25)),
actifs = sample(c(0L, 1L), n, replace = TRUE, prob = c(0.68, 0.32))
)# Définition des dimensions IPM standard OPHI
indicateurs_ipm <- list(
sante = c("malnutrition", "mortalite_enf"),
education = c("scol_adulte", "scol_enfants"),
niveau_vie = c("electricite", "eau_potable", "assainissement",
"combustible", "logement", "actifs")
)
resultat_ipm <- calcul_ipm(
donnees_menages,
indicateurs = indicateurs_ipm,
seuil_pauvrete = 1/3,
var_poids = "poids"
)contrib_df <- tibble::tibble(
dimension = names(resultat_ipm$contributions),
contribution = resultat_ipm$contributions
)
knitr::kable(
contrib_df,
caption = "Contributions des dimensions à l'IPM",
col.names = c("Dimension", "Contribution (%)")
)| Dimension | Contribution (%) |
|---|---|
| sante | 25.43 |
| education | 39.06 |
| niveau_vie | 35.52 |
donnees_enrichies <- resultat_ipm$donnees_enrichies
ipm_region <- donnees_enrichies |>
dplyr::group_by(region) |>
dplyr::summarise(
n_menages = dplyr::n(),
taux_pauvrete_md = round(mean(.est_pauvre_multi) * 100, 1),
score_moyen = round(mean(.score_privation), 3),
.groups = "drop"
) |>
dplyr::arrange(dplyr::desc(taux_pauvrete_md))
knitr::kable(
ipm_region,
caption = "Pauvreté multidimensionnelle par région",
col.names = c("Région", "Ménages", "Taux pauvreté (%)", "Score moyen")
)| Région | Ménages | Taux pauvreté (%) | Score moyen |
|---|---|---|---|
| Nord | 779 | 47.5 | 0.300 |
| Ouest | 752 | 47.2 | 0.307 |
| Sud | 753 | 46.9 | 0.309 |
| Est | 716 | 45.8 | 0.303 |
set.seed(2024)
donnees_revenus <- tibble::tibble(
menage = 1:2000,
milieu = sample(c("Urbain", "Rural"), 2000, replace = TRUE,
prob = c(0.4, 0.6)),
quintile = sample(1:5, 2000, replace = TRUE),
depense_totale = exp(rnorm(2000, log(500000), 0.8)),
poids = runif(2000, 0.5, 2.0)
)inegalites <- decomposer_inegalite(
donnees_revenus,
var_revenu = "depense_totale",
var_groupe = "milieu",
var_poids = "poids"
)knitr::kable(
inegalites$decomposition,
caption = "Décomposition des inégalités par milieu",
digits = 3
)| groupe | n | moyenne | gini_interne | part_pop | part_revenu |
|---|---|---|---|---|---|
| Urbain | 795 | 686206.9 | 0.437 | 0.392 | 0.395 |
| Rural | 1205 | 677273.3 | 0.421 | 0.608 | 0.605 |
# Construction manuelle de la courbe de Lorenz
x_sorted <- sort(donnees_revenus$depense_totale)
n <- length(x_sorted)
lorenz_df <- tibble::tibble(
pop_cumulee = c(0, seq_len(n) / n),
rev_cumulee = c(0, cumsum(x_sorted) / sum(x_sorted))
)
ggplot2::ggplot(lorenz_df, ggplot2::aes(pop_cumulee, rev_cumulee)) +
ggplot2::geom_line(color = "#1B6CA8", linewidth = 1.2) +
ggplot2::geom_abline(intercept = 0, slope = 1,
linetype = "dashed", color = "#888888") +
ggplot2::annotate("text", x = 0.7, y = 0.35,
label = paste0("Gini = ", inegalites$gini),
color = "#1B6CA8", fontface = "bold", size = 4) +
ggplot2::labs(
title = "Courbe de Lorenz — Dépenses des ménages",
x = "Part cumulée de la population",
y = "Part cumulée des dépenses"
) +
theme_ins()tibble::tibble(
Indicateur = c("IDH Bénin 2023", "IPM (H × A)", "Incidence (H)",
"Intensité (A)", "Gini"),
Valeur = c(
idh_benin$idh,
resultat_ipm$ipm,
round(resultat_ipm$H, 3),
round(resultat_ipm$A, 3),
inegalites$gini
),
Interpretation = c(
idh_benin$categorie,
paste0(round(resultat_ipm$ipm * 100, 1), "% de pauvreté multidim."),
paste0(round(resultat_ipm$H * 100, 1), "% de ménages pauvres"),
paste0(round(resultat_ipm$A * 100, 1), "% de privations en moyenne"),
dplyr::case_when(
inegalites$gini < 0.3 ~ "Inégalités faibles",
inegalites$gini < 0.4 ~ "Inégalités modérées",
TRUE ~ "Inégalités élevées"
)
)
) |>
knitr::kable(caption = "Tableau de bord des indicateurs ODD")| Indicateur | Valeur | Interpretation |
|---|---|---|
| IDH Bénin 2023 | 0.5600 | Moyen |
| IPM (H × A) | 0.2066 | 20.7% de pauvreté multidim. |
| Incidence (H) | 0.4700 | 47% de ménages pauvres |
| Intensité (A) | 0.4400 | 44% de privations en moyenne |
| Gini | 0.4277 | Inégalités élevées |
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.