| Title: | Statistical Tools for African National Statistics Institutes |
| Version: | 0.2.0 |
| Description: | A comprehensive statistical toolbox for National Statistics Institutes (INS) in Africa. Provides functions for survey data import ('KoboToolbox', 'ODK', 'CSPro', 'Excel', 'Stata', 'SPSS'), data processing and validation, weighted statistical analysis (descriptive statistics, cross-tabulations, regression, Human Development Index (HDI), Multidimensional Poverty Index (MPI) following Alkire and Foster (2011) <doi:10.1093/oep/gpr051>, inequalities), visualization (age pyramids, thematic maps, official charts) and dissemination ('SDMX' export, 'DDI' metadata, anonymization, Word/PDF reports). Designed to work in resource-constrained environments, offline and in French. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Language: | fr |
| URL: | https://statafrikr.org/, https://github.com/damoko2004/statAfrikR |
| BugReports: | https://github.com/damoko2004/statAfrikR/issues |
| Depends: | R (≥ 4.2.0) |
| Imports: | dplyr (≥ 1.1.0), forcats (≥ 1.0.0), ggplot2 (≥ 3.4.0), ggrepel (≥ 0.9.0), haven (≥ 2.5.0), readr (≥ 2.1.0), readxl (≥ 1.4.0), rlang (≥ 1.1.0), scales (≥ 1.2.0), sf (≥ 1.0.0), stringr (≥ 1.5.0), survey (≥ 4.1.0), tibble (≥ 3.1.0), tidyr (≥ 1.3.0) |
| Suggests: | shiny (≥ 1.7.0), flextable (≥ 0.9.0), httr2 (≥ 0.2.0), jsonlite (≥ 1.8.0), officer (≥ 0.6.0), openxlsx2 (≥ 0.8.0), srvyr (≥ 1.1.0), testthat (≥ 3.0.0), rmarkdown (≥ 2.20), withr (≥ 2.5.0), knitr |
| Config/testthat/edition: | 3 |
| VignetteBuilder: | knitr |
| NeedsCompilation: | no |
| Packaged: | 2026-09-20 12:57:05 UTC; dickersamoko |
| LazyData: | true |
| LazyDataCompression: | xz |
| Author: | Dikers Amoko [aut, cre, ctb], Josue Honore Dasse [ctb] |
| Maintainer: | Dikers Amoko <diamoko@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-20 13:20:02 UTC |
statAfrikR — Outils statistiques pour les INS africains
Description
Boite a outils statistique complete pour les Instituts Nationaux de Statistique (INS) d'Afrique.
Author(s)
Maintainer: Dikers Amoko diamoko@gmail.com [contributor]
Other contributors:
Josue Honore Dasse josue.h.dasse@gmail.com [contributor]
See Also
Site web : https://statafrikr.org/ GitHub : https://github.com/damoko2004/statAfrikR Discord : https://discord.com/invite/kcfA27Yz
Calculer le taux d'accouchements assistes
Description
Proportion des naissances assistees par un personnel de sante qualifie (medecin, sage-femme, infirmier). ODD 3.1.2.
Usage
accouchements_assistes(donnees, var_assiste, poids = NULL, sous_groupes = NULL)
Arguments
donnees |
data.frame – Donnees naissances recentes |
var_assiste |
character – Variable 0/1 indiquant un accouchement assiste par personnel qualifie |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec taux global et par sous-groupe
Examples
set.seed(42)
n <- 400
naissances <- data.frame(
assiste = rbinom(n, 1, 0.65),
milieu = sample(c("urbain","rural"), n, TRUE),
region = sample(paste0("R", 1:5), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
accouchements_assistes(naissances, "assiste",
poids = "poids",
sous_groupes = c("milieu","region"))
Analyse de régression
Description
Ajuste un modèle de régression linéaire, logistique ou de Poisson avec prise en compte optionnelle du plan de sondage complexe. Produit un tableau de résultats formaté avec OR/RR si approprié.
Usage
analyse_regression(
formule,
data,
type = c("lineaire", "logistique", "poisson"),
niveau_confiance = 0.95,
format_sortie = c("tibble", "liste", "flextable")
)
Arguments
formule |
formula — Formule du modèle (ex: |
data |
data.frame, tibble ou objet |
type |
character — Type de modèle : |
niveau_confiance |
numeric — Niveau de confiance pour les IC. Défaut : 0.95. |
format_sortie |
character — |
Value
Selon format_sortie : liste complète, tibble ou flextable des coefficients avec IC et p-valeurs.
Examples
## Not run:
donnees <- data.frame(
revenu = rnorm(100, 200000, 50000),
age = sample(20:65, 100, replace=TRUE),
sexe = sample(c("H","F"), 100, replace=TRUE)
)
analyse_regression(revenu ~ age + sexe, donnees)
## End(Not run)
Analyse spatiale — jointure et indicateurs par zone
Description
Joint un jeu de données statistiques avec un shapefile géographique et calcule des indicateurs par aire géographique. Produit un objet sf enrichi prêt pour la cartographie.
Usage
analyse_spatiale(
data,
shapefile,
var_geo_data,
var_geo_shape,
indicateurs = NULL,
fonctions = list(moyenne = function(x) mean(x, na.rm = TRUE), n = function(x)
sum(!is.na(x)))
)
Arguments
data |
data.frame ou tibble — Données avec variable géographique |
shapefile |
sf ou character — Objet sf ou chemin vers un fichier shapefile (.shp, .gpkg, .geojson) |
var_geo_data |
character — Variable géographique dans |
var_geo_shape |
character — Variable géographique dans le shapefile |
indicateurs |
character ou NULL — Variables à agréger par zone. Si NULL, toutes les variables numériques. Défaut : NULL. |
fonctions |
list — Fonctions d'agrégation nommées.
Défaut : |
Value
Un objet sf avec les indicateurs calculés par zone.
Examples
## Not run:
carte <- analyse_spatiale(
data = donnees_enquete,
shapefile = "data/shapefiles/regions.shp",
var_geo_data = "region",
var_geo_shape = "NOM_REGION",
indicateurs = c("taux_pauvrete", "revenu_moyen")
)
## End(Not run)
Analyser la non-reponse
Description
Calcule les taux de non-reponse par strate et teste les biais de non-reponse potentiels par comparaison des repondants et non-repondants sur les variables disponibles.
Usage
analyser_non_reponse(
donnees,
var_reponse,
var_strate = NULL,
vars_biais = NULL
)
Arguments
donnees |
data.frame – Donnees avec variable reponse |
var_reponse |
character – Variable 0/1 : a repondu (1) ou non-repondant (0) |
var_strate |
character ou NULL – Variable de stratification. Defaut : NULL |
vars_biais |
character ou NULL – Variables pour test de biais (disponibles pour tous : repondants + non-repondants). Defaut : NULL |
Value
Un tibble avec taux de reponse et statistiques de biais
Examples
set.seed(42)
n <- 400
donnees <- data.frame(
repondu = rbinom(n, 1, 0.88),
strate = sample(c("Urbain","Rural"), n, TRUE),
age_cm = sample(25:65, n, TRUE),
taille_men = sample(3:10, n, TRUE)
)
analyser_non_reponse(donnees, "repondu",
var_strate = "strate",
vars_biais = c("age_cm","taille_men"))
Calculer la prevalence de l'anemie
Description
Calcule la prevalence de l'anemie selon les seuils OMS (hemoglobine en g/dL). Distingue les niveaux legere, moderee, severe.
Usage
anemie(
donnees,
var_hemoglobine,
var_groupe_cible = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees menages ou individus |
var_hemoglobine |
character – Taux d'hemoglobine en g/dL |
var_groupe_cible |
character ou NULL – Groupe cible : "femmes_15_49", "enfants_6_59", "enceintes", "tous". Defaut : NULL (tous) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec prevalence par niveau d'anemie
Examples
set.seed(42)
n <- 400
femmes <- data.frame(
hemoglobine = rnorm(n, 11.5, 2.1),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
anemie(femmes, var_hemoglobine = "hemoglobine", poids = "poids")
Anonymiser un jeu de données
Description
Applique les techniques d'anonymisation conformes aux standards IHSN/PARIS21 : suppression, masquage, generalisation, perturbation et pseudonymisation des variables sensibles.
Usage
anonymiser_donnees(
data,
vars_supprimer = NULL,
vars_masquer = NULL,
vars_perturber = NULL,
vars_generaliser = NULL,
niveau_bruit = 0.05,
graine = 42L,
seuil_cellule = 5L,
rapport = TRUE
)
Arguments
data |
data.frame ou tibble — Données à anonymiser |
vars_supprimer |
character ou NULL — Variables à supprimer entièrement. Défaut : NULL. |
vars_masquer |
character ou NULL — Variables à remplacer par des codes anonymes. Défaut : NULL. |
vars_perturber |
character ou NULL — Variables numériques à perturber par bruit aléatoire. Défaut : NULL. |
vars_generaliser |
list ou NULL — Liste nommée de variables à
généraliser avec les bornes : |
niveau_bruit |
numeric — Niveau de bruit pour la perturbation (proportion de l'écart-type). Défaut : 0.05. |
graine |
integer — Graine aléatoire. Défaut : 42. |
seuil_cellule |
integer – Seuil de confidentialite : les cellules avec effectif < seuil_cellule declenchent un avertissement. Defaut : 5L. Configurable selon la politique de l'INS. |
rapport |
logical — Produire un rapport d'anonymisation. Défaut : TRUE. |
Value
Si rapport = FALSE : tibble anonymisé.
Si rapport = TRUE : liste avec $donnees et $rapport.
Examples
## Not run:
resultat <- anonymiser_donnees(
donnees_enquete,
vars_supprimer = c("nom", "prenom", "telephone"),
vars_masquer = c("id_menage", "id_individu"),
vars_perturber = c("revenu_mensuel"),
vars_generaliser = list(age = 5)
)
donnees_anon <- resultat$donnees
## End(Not run)
Appliquer les pondérations d'enquête
Description
Crée un objet de plan de sondage complexe à partir d'un
tibble et des variables de pondération, strates et grappes. Enveloppe
ergonomique autour de survey::svydesign() avec validation
complète des poids et messages d'erreur en français.
Usage
appliquer_ponderations(
data,
var_poids,
var_strate = NULL,
var_grappe = NULL,
var_fpc = NULL,
normaliser = FALSE
)
Arguments
data |
data.frame ou tibble — Données de l'enquête |
var_poids |
character — Nom de la variable de pondération finale |
var_strate |
character ou NULL — Variable de stratification. Défaut : NULL. |
var_grappe |
character ou NULL — Variable d'unité primaire de sondage (UPS/cluster). Défaut : NULL. |
var_fpc |
character ou NULL — Variable de correction pour population finie (FPC). Défaut : NULL. |
normaliser |
logical — Normaliser les poids pour que leur somme soit égale à l'effectif de l'échantillon. Défaut : FALSE. |
Value
Un objet svydesign du package survey.
See Also
Examples
if (requireNamespace("survey", quietly = TRUE)) {
donnees <- data.frame(
revenu = rnorm(50, 200000, 50000),
poids_final = runif(50, 0.5, 3),
strate = sample(1:4, 50, replace = TRUE),
grappe_id = sample(1:10, 50, replace = TRUE)
)
appliquer_ponderations(donnees,
var_poids = "poids_final",
var_strate = "strate",
var_grappe = "grappe_id")
}
Calculer l'indice d'autonomisation des femmes
Description
Calcule un indice composite d'autonomisation des femmes base sur trois dimensions : prises de decision, acces aux ressources et mobilite. Conforme a la methodologie DHS/MICS.
Usage
autonomisation_femmes(
donnees,
vars_decision = NULL,
vars_ressources = NULL,
vars_mobilite = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees femmes |
vars_decision |
character ou NULL – Variables 0/1 de prise de decision (ex: decisions achat menage, sante, visites). Defaut : NULL |
vars_ressources |
character ou NULL – Variables 0/1 d'acces aux ressources (ex: compte bancaire, revenu propre, terre). Defaut : NULL |
vars_mobilite |
character ou NULL – Variables 0/1 de mobilite (ex: libre de se deplacer seule, rendre visite, marche). Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_genre
Examples
set.seed(42)
n <- 400
femmes <- data.frame(
dec_achat = rbinom(n, 1, 0.55),
dec_sante = rbinom(n, 1, 0.48),
compte_ban = rbinom(n, 1, 0.32),
rev_propre = rbinom(n, 1, 0.41),
libre_dep = rbinom(n, 1, 0.62),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
autonomisation_femmes(femmes,
vars_decision = c("dec_achat","dec_sante"),
vars_ressources = c("compte_ban","rev_propre"),
vars_mobilite = c("libre_dep"),
poids = "poids", sous_groupes = "milieu")
Calculer la part de population se declarant heureuse
Description
Proportion d'individus se declarant tres heureux ou heureux. Variable categorielle recodee en indicateur 0/1.
Usage
bonheur_declare(
donnees,
var_bonheur,
codes_heureux = c(1, 2),
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_bonheur |
character – Variable de bonheur. Valeurs attendues : 1="Tres heureux", 2="Heureux", 3="Pas tres heureux", 4="Pas du tout heureux" OU variable 0/1 deja binaire. |
codes_heureux |
numeric ou character – Codes consideres comme "heureux" (les autres = "pas heureux"). Defaut : c(1, 2) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_subjectif
Examples
set.seed(42)
n <- 500
individus <- data.frame(
bonheur = sample(1:4, n, TRUE, prob=c(0.20,0.45,0.25,0.10)),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
bonheur_declare(individus, "bonheur", codes_heureux=c(1,2),
poids="poids", sous_groupes="milieu")
Calculer l'effet de plan (DEFF)
Description
Calcule le Design Effect (DEFF) pour les variables d'interet. DEFF = Variance estimee sous le plan complexe / Variance sous SRS. Permet de calculer la taille effective de l'echantillon.
Usage
calcul_deff(saf_design, variables, type = c("proportion", "moyenne"))
Arguments
saf_design |
saf_design – Objet cree par |
variables |
character – Variables pour lesquelles calculer le DEFF |
type |
character – "proportion" ou "moyenne". Defaut : "proportion" |
Value
Un tibble avec DEFF et taille effective par variable
Examples
set.seed(42)
n <- 300
donnees <- data.frame(
poids_sond = runif(n, 1800, 3500),
strate = sample(c("Urbain","Rural"), n, TRUE),
grappe = sample(1:20, n, TRUE),
pauvre = rbinom(n, 1, 0.45),
revenu = pmax(0, rnorm(n, 180000, 90000))
)
design <- suppressMessages(
creer_design(donnees,"poids_sond",var_strate="strate",var_grappe="grappe"))
calcul_deff(design, variables=c("pauvre","revenu"))
Calcul des indices de pauvrete FGT
Description
Calcule les indices Foster-Greer-Thorbecke (FGT0, FGT1, FGT2) avec prise en compte optionnelle du plan de sondage complexe. Les trois indices mesurent respectivement l'incidence, la profondeur et la severite de la pauvrete monetaire.
Usage
calcul_fgt(
data,
var_depense,
seuil_pauvrete,
poids = NULL,
strate = NULL,
grappe = NULL,
sous_groupes = NULL,
alpha = c(0, 1, 2),
ic = TRUE,
na.rm = TRUE
)
Arguments
data |
data.frame, tibble ou objet |
var_depense |
character – Nom de la variable de depenses ou revenus par tete (en monnaie locale, strictement positive) |
seuil_pauvrete |
numeric – Seuil de pauvrete en monnaie locale.
Meme unite que |
poids |
character ou NULL – Nom de la variable de ponderation.
Ignore si |
strate |
character ou NULL – Variable de stratification. Defaut : NULL |
grappe |
character ou NULL – Variable d'identifiant de grappe. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de decomposition (region, milieu, sexe). Defaut : NULL |
alpha |
numeric – Parametre de sensibilite : 0, 1, 2 ou vecteur.
Defaut : |
ic |
logical – Calculer les IC 95%. Defaut : TRUE.
Methode : Wilson (echantillon simple) ou Taylor via |
na.rm |
logical – Exclure les valeurs manquantes. Defaut : TRUE |
Value
Un objet de classe saf_fgt
References
Foster, J., Greer, J., & Thorbecke, E. (1984). A class of decomposable poverty measures. Econometrica, 52(3), 761-766. doi:10.2307/1913475
Examples
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, rate = 1/150000), rexp(30, rate = 1/400000)),
poids = runif(100, 0.8, 1.2),
region = sample(c("Bangui", "Ombella", "Lobaye"), 100, TRUE),
milieu = sample(c("urbain", "rural"), 100, TRUE, prob = c(0.4, 0.6))
)
fgt <- calcul_fgt(menages, var_depense = "depense_pc",
seuil_pauvrete = 220000, poids = "poids")
print(fgt)
Calculer le coefficient de Gini
Description
Calcule le coefficient de Gini avec intervalle de confiance par bootstrap. Le Gini mesure l'inegalite de distribution d'une variable de revenu ou de consommation (0 = egalite parfaite, 1 = inegalite maximale).
Usage
calcul_gini(
donnees,
var_revenu,
poids = NULL,
ic = FALSE,
n_bootstrap = 200L,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu ou de consommation (valeurs strictement positives) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
ic |
logical – Calculer l'IC 95% par bootstrap. Defaut : FALSE |
n_bootstrap |
integer – Replications bootstrap. Defaut : 200L |
sous_groupes |
character ou NULL – Variables de sous-groupe pour decomposition. Defaut : NULL |
Value
Un objet de classe saf_gini
Examples
set.seed(42)
n <- 300
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
res <- calcul_gini(menages, "depense", poids = "poids")
print(res)
Calculer l'Indice de Développement Humain (IDH)
Description
Calcule l'IDH et ses trois dimensions (santé, éducation, revenu) selon la méthodologie officielle PNUD post-2010. Applicable au niveau national ou infranational.
Usage
calcul_idh(
esperance_vie,
annees_scol_moy,
annees_scol_att,
rnb_habitant,
niveau = c("national", "infranational"),
annee = NULL
)
Arguments
esperance_vie |
numeric — Espérance de vie à la naissance (années) |
annees_scol_moy |
numeric — Durée moyenne de scolarisation (années) |
annees_scol_att |
numeric — Durée attendue de scolarisation (années) |
rnb_habitant |
numeric — RNB par habitant en PPA (USD constants 2017) |
niveau |
character — |
annee |
integer ou NULL — Année de référence. Défaut : NULL. |
Value
Une liste avec : idh, indice_sante,
indice_education, indice_revenu, categorie.
References
PNUD (2023). Technical Notes: Calculating the Human Development Indices.
Examples
idh <- calcul_idh(
esperance_vie = 61.2,
annees_scol_moy = 5.4,
annees_scol_att = 9.8,
rnb_habitant = 2350,
annee = 2023
)
cat("IDH :", idh$idh)
Calculer l'Indice de Pauvrete Multidimensionnelle (IPM)
Description
Calcule l'IPM standard PNUD/OPHI selon la methode Alkire-Foster (2011). L'IPM = H x A, ou H est l'incidence (proportion de menages multidimensionnellement pauvres) et A l'intensite moyenne de privation parmi les pauvres.
Usage
calcul_ipm(
donnees,
var_nutrition = NULL,
var_mortalite_inf = NULL,
var_annees_scol = NULL,
var_scolarisation = NULL,
var_combustible = NULL,
var_assainissement = NULL,
var_eau = NULL,
var_electricite = NULL,
var_logement = NULL,
var_actifs = NULL,
poids = NULL,
seuil_k = 1/3,
ic = FALSE,
n_bootstrap = 200L
)
Arguments
donnees |
data.frame – Donnees menages |
var_nutrition |
character ou NULL – Variable nutrition (1 = prive, 0 = non prive). Defaut : NULL |
var_mortalite_inf |
character ou NULL – Deces d'enfant dans le menage (1 = oui). Defaut : NULL |
var_annees_scol |
character ou NULL – Aucun membre >= 6 ans ayant complete 6 ans de scolarite (1 = prive). Defaut : NULL |
var_scolarisation |
character ou NULL – Enfant non scolarise dans le menage (1 = prive). Defaut : NULL |
var_combustible |
character ou NULL – Combustible solide pour la cuisine (1 = prive). Defaut : NULL |
var_assainissement |
character ou NULL – Assainissement non ameliore (1 = prive). Defaut : NULL |
var_eau |
character ou NULL – Eau non potable (1 = prive). Defaut : NULL |
var_electricite |
character ou NULL – Sans electricite (1 = prive). Defaut : NULL |
var_logement |
character ou NULL – Logement inadequat (1 = prive). Defaut : NULL |
var_actifs |
character ou NULL – Pas d'actifs de base (1 = prive). Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL (poids egaux) |
seuil_k |
numeric – Seuil de pauvrete multidimensionnelle (proportion de privations). Defaut : 1/3 |
ic |
logical – Calculer les intervalles de confiance (bootstrap). Defaut : FALSE |
n_bootstrap |
integer – Nombre de replications bootstrap. Defaut : 200L |
Value
Un objet de classe saf_ipm contenant :
IPM, H, A, contributions,
n_obs, seuil_k, methode
References
Alkire, S. & Foster, J. (2011). Counting and multidimensional poverty measurement. Journal of Public Economics, 95(7-8), 476-487. doi:10.1016/j.jpubeco.2010.11.006
Examples
set.seed(42)
n <- 200
menages <- data.frame(
nutrition = rbinom(n, 1, 0.35),
mortalite_inf = rbinom(n, 1, 0.12),
annees_scol = rbinom(n, 1, 0.40),
scolarisation = rbinom(n, 1, 0.28),
combustible = rbinom(n, 1, 0.55),
assainissement = rbinom(n, 1, 0.48),
eau = rbinom(n, 1, 0.38),
electricite = rbinom(n, 1, 0.62),
logement = rbinom(n, 1, 0.42),
actifs = rbinom(n, 1, 0.30),
poids = runif(n, 0.8, 1.3)
)
res <- calcul_ipm(menages,
var_nutrition = "nutrition",
var_mortalite_inf = "mortalite_inf",
var_annees_scol = "annees_scol",
var_scolarisation = "scolarisation",
var_combustible = "combustible",
var_assainissement = "assainissement",
var_eau = "eau",
var_electricite = "electricite",
var_logement = "logement",
var_actifs = "actifs",
poids = "poids"
)
print(res)
Calculer un IPM national personnalise
Description
Calcule un IPM national adapte aux realites locales (ODD 1.2.2). L'INS peut choisir ses indicateurs, leurs poids et le seuil k.
Usage
calcul_ipm_national(
donnees,
indicateurs,
poids = NULL,
seuil_k = 1/3,
ic = FALSE,
n_bootstrap = 200L
)
Arguments
donnees |
data.frame – Donnees menages |
indicateurs |
list – Liste nommee definissant les indicateurs :
chaque element contient |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
seuil_k |
numeric – Seuil de pauvrete. Defaut : 1/3 |
ic |
logical – Intervalles de confiance bootstrap. Defaut : FALSE |
n_bootstrap |
integer – Replications bootstrap. Defaut : 200L |
Value
Un objet saf_ipm
Examples
set.seed(42)
n <- 150
menages <- data.frame(
eau = rbinom(n, 1, 0.45),
electricite = rbinom(n, 1, 0.60),
scol = rbinom(n, 1, 0.35),
sante = rbinom(n, 1, 0.25),
poids = runif(n, 0.8, 1.3)
)
indics <- list(
acces_eau = list(var = "eau", poids = 0.25,
dimension = "Conditions de vie"),
acces_elec = list(var = "electricite", poids = 0.25,
dimension = "Conditions de vie"),
education = list(var = "scol", poids = 0.30,
dimension = "Education"),
sante_base = list(var = "sante", poids = 0.20,
dimension = "Sante")
)
res <- calcul_ipm_national(menages, indicateurs = indics,
poids = "poids", seuil_k = 1/3)
print(res)
Calculer et appliquer le deflateur du PIB
Description
Convertit les valeurs en prix courants en prix constants (volume) en utilisant le deflateur implicite du PIB ou un indice de prix fourni. Base annee referencee configurable.
Usage
calculer_deflateur(
donnees,
var_pib_courant,
var_deflateur = NULL,
var_ipc = NULL,
annee_base = 2015L,
var_annee = "annee"
)
Arguments
donnees |
data.frame – Donnees avec PIB courant et deflateur |
var_pib_courant |
character – Variable PIB en prix courants |
var_deflateur |
character ou NULL – Variable deflateur (base 100). Si NULL, calcule depuis var_ipc. Defaut : NULL |
var_ipc |
character ou NULL – Indice des prix a la consommation (si deflateur non fourni). Defaut : NULL |
annee_base |
integer – Annee de base du deflateur. Defaut : 2015L |
var_annee |
character – Variable annee. Defaut : "annee" |
Value
Un tibble avec PIB courant, deflateur et PIB constant
Examples
comptes <- data.frame(
annee = 2015:2022,
pib_courant = c(2100,2180,2250,2310,2195,2280,2380,2450),
deflateur = c(100,103.2,106.8,110.5,109.2,113.5,118.2,122.8)
)
calculer_deflateur(comptes, "pib_courant",
var_deflateur="deflateur",
annee_base=2015L)
Calibrer les poids de sondage
Description
Ajuste (cale) les poids de sondage pour que les estimations correspondent aux totaux de population connus (rake / calage generalise GREG). Methode post-stratification generalisee.
Usage
calibrer_poids(
saf_design,
marges,
var_calibrage,
methode = c("raking", "post-stratification"),
tolerance = 1e-06,
max_iter = 50L
)
Arguments
saf_design |
saf_design – Objet design a calibrer |
marges |
list – Liste nommee des totaux de population par variable. Exemple : list(sexe=c(H=1200000, F=1350000), milieu=c(urbain=1500000, rural=1050000)) |
var_calibrage |
character – Variables de calage (doivent etre dans les donnees). Ex : c("sexe", "milieu") |
methode |
character – "raking" ou "post-stratification". Defaut : "raking" |
tolerance |
numeric – Tolerance de convergence. Defaut : 1e-6 |
max_iter |
integer – Nombre maximum d'iterations. Defaut : 50L |
Value
Un objet saf_design avec poids calibres
Examples
set.seed(42)
n <- 300
donnees <- data.frame(
poids_sond = runif(n, 1800, 3500),
strate = sample(c("Urbain","Rural"), n, TRUE),
grappe = sample(1:20, n, TRUE),
sexe = sample(c("H","F"), n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE)
)
design <- suppressMessages(
creer_design(donnees,"poids_sond",var_strate="strate",var_grappe="grappe"))
marges <- list(
sexe = c(H=500000, F=550000),
milieu = c(urbain=600000, rural=450000)
)
calibrer_poids(design, marges, var_calibrage=c("sexe","milieu"))
Carte choroplethe statistique institutionnelle
Description
Produit une carte choroplethe professionnelle. Utilise uniquement ggplot2 (deja installe avec statAfrikR) et sf. Gestion automatique des labels pour les petits pays.
Usage
carte_choroplethe(
sf_obj,
var,
titre = NULL,
sous_titre = NULL,
legende = NULL,
palette = c("pauvrete", "developpement", "eau", "neutre"),
n_classes = 5L,
methode = c("quantile", "jenks", "egal", "sd"),
col_label = NULL,
inverser = FALSE,
source = NULL
)
Arguments
sf_obj |
sf – Objet sf enrichi (depuis |
var |
character – Variable numerique a cartographier |
titre |
character ou NULL – Titre. Defaut : NULL |
sous_titre |
character ou NULL – Sous-titre. Defaut : NULL |
legende |
character ou NULL – Titre de la legende. Defaut : NULL |
palette |
character – Palette : |
n_classes |
integer – Nombre de classes (2-9). Defaut : 5L |
methode |
character – Discretisation : |
col_label |
character ou NULL – Variable a afficher comme label sur chaque zone. Defaut : NULL |
inverser |
logical – Inverser la palette. Defaut : FALSE |
source |
character ou NULL – Note de source. Defaut : NULL |
Value
Un objet ggplot2
Examples
rca <- carte_zones("rca")
n <- nrow(rca)
stats <- data.frame(
prefecture = rca$prefecture,
taux_pauvrete = c(74.2, 71.8, 68.5, 65.3, 72.1,
55.4, 48.7, 51.2, 62.3, 58.9,
28.4, 42.1, 52.8, 63.7, 59.4,
44.6, 70.5)[seq_len(n)]
)
sf_enr <- carte_joindre(rca, stats, "prefecture", "prefecture")
carte_choroplethe(sf_enr, "taux_pauvrete",
titre = "Pauvrete en RCA",
source = "Donnees simulees")
Exporter une carte en fichier image
Description
Exporte un objet ggplot2 en PNG, PDF ou SVG.
Usage
carte_exporter(carte, chemin, largeur = 20, hauteur = 15, resolution = 300L)
Arguments
carte |
ggplot – Objet ggplot2 |
chemin |
character – Chemin de sortie (.png, .pdf, .svg) |
largeur |
numeric – Largeur en cm. Defaut : 20 |
hauteur |
numeric – Hauteur en cm. Defaut : 15 |
resolution |
integer – Resolution DPI (PNG). Defaut : 300L |
Value
Chemin du fichier (invisible)
Examples
## Not run:
g <- carte_choroplethe(sf_enrichi, "taux_pauvrete")
carte_exporter(g, file.path(tempdir(), "carte.png"))
## End(Not run)
Importer un fichier geographique
Description
Importe un fichier geographique externe (shapefile, GeoJSON, GeoPackage) fourni par l'utilisateur ou l'INS.
Usage
carte_import(chemin, crs = 4326L, couche = NULL, simplifier = FALSE)
Arguments
chemin |
character – Chemin vers le fichier (.shp, .geojson, .gpkg) |
crs |
integer – Code EPSG cible. Defaut : 4326 (WGS 84) |
couche |
character ou NULL – Couche GeoPackage. Defaut : NULL |
simplifier |
logical – Simplifier la geometrie. Defaut : FALSE |
Value
Un objet sf
Examples
## Not run:
regions <- carte_import("data/regions_enquete.shp")
## End(Not run)
Carte des privations IPM par zone
Description
Cartographie l'IPM ou une composante (H, A, ou un indicateur de privation) par zone geographique. Necessite un objet sf et les resultats de decomposer_ipm().
Usage
carte_ipm(
decomp_ipm,
sf_obj,
cle_sf,
cle_decomp,
var = c("IPM", "H", "A"),
titre = NULL,
source = NULL
)
Arguments
decomp_ipm |
tibble – Resultat de |
sf_obj |
sf – Fond de carte (depuis |
cle_sf |
character – Variable cle dans |
cle_decomp |
character – Variable cle dans |
var |
character – Variable a cartographier :
|
titre |
character ou NULL – Titre. Defaut : NULL |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un objet ggplot2
Examples
## Not run:
rca <- carte_zones("rca")
res <- calcul_ipm(menages_rca, ...)
decomp <- decomposer_ipm(res, menages_rca, "prefecture")
carte_ipm(decomp, rca, cle_sf="prefecture",
cle_decomp="prefecture")
## End(Not run)
Joindre des donnees statistiques a un fond de carte
Description
Joint un objet sf avec un data.frame statistique. Normalise automatiquement les cles pour eviter les erreurs de correspondance dues aux accents, casses et espaces.
Usage
carte_joindre(
sf_obj,
data,
cle_geo,
cle_data = NULL,
type = c("gauche", "interne"),
normaliser = TRUE
)
Arguments
sf_obj |
sf – Objet geographique (depuis |
data |
data.frame – Donnees statistiques |
cle_geo |
character – Variable cle dans |
cle_data |
character – Variable cle dans |
type |
character – |
normaliser |
logical – Normaliser les cles (recommande). Defaut : TRUE |
Value
Un objet sf enrichi
Examples
# Avec les fonds de cartes integres
rca <- carte_zones("rca")
stats <- data.frame(
prefecture = rca$prefecture,
taux_pauvrete = c(74.2, 71.8, 68.5, 65.3, 72.1,
55.4, 48.7, 51.2, 62.3, 58.9,
28.4, 42.1, 52.8, 63.7, 59.4,
44.6, 70.5)[seq_len(nrow(rca))]
)
sf_enrichi <- carte_joindre(rca, stats,
cle_geo = "prefecture",
cle_data = "prefecture")
Carte thematique de la pauvrete (FGT0)
Description
Specialisation de carte_choroplethe() pour les
indices de pauvrete. Symbologie standardisee AFRISTAT/Banque mondiale
avec seuil d'alerte.
Usage
carte_pauvrete(
sf_obj,
var_fgt0,
seuil_alerte = 0.5,
col_label = NULL,
titre = NULL,
source = NULL
)
Arguments
sf_obj |
sf – Objet sf avec taux de pauvrete |
var_fgt0 |
character – Variable de taux de pauvrete |
seuil_alerte |
numeric – Seuil d'alerte. Defaut : 0.5 |
col_label |
character ou NULL – Variable de label. Defaut : NULL |
titre |
character ou NULL – Titre. Defaut : titre automatique |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un objet ggplot2
Examples
rca <- carte_zones("rca")
n <- nrow(rca)
stats <- data.frame(
prefecture = rca$prefecture,
taux_pauvrete = c(74.2, 71.8, 68.5, 65.3, 72.1,
55.4, 48.7, 51.2, 62.3, 58.9,
28.4, 42.1, 52.8, 63.7, 59.4,
44.6, 70.5)[seq_len(n)]
)
sf_enr <- carte_joindre(rca, stats, "prefecture", "prefecture")
sf_enr$taux_prop <- sf_enr$taux_pauvrete / 100
carte_pauvrete(sf_enr, var_fgt0 = "taux_prop",
source = "Donnees simulees")
Carte thématique choroplèthe
Description
Génère une carte choroplèthe à partir d'un objet sf enrichi ou de la jointure d'un shapefile avec des données statistiques.
Usage
carte_thematique(
data_sf = NULL,
shapefile = NULL,
data = NULL,
var_geo_shape = NULL,
var_geo_data = NULL,
var_couleur,
titre = NULL,
sous_titre = NULL,
source = NULL,
palette = c("sequentiel", "divergent"),
n_classes = 5L,
na_couleur = "#cccccc"
)
Arguments
data_sf |
sf ou NULL — Objet sf avec données. Si NULL, utilise
|
shapefile |
sf ou character ou NULL — Shapefile si |
data |
data.frame ou NULL — Données à joindre si |
var_geo_shape |
character ou NULL — Variable clé dans le shapefile. Défaut : NULL. |
var_geo_data |
character ou NULL — Variable clé dans les données. Défaut : NULL. |
var_couleur |
character — Variable à représenter par la couleur |
titre |
character ou NULL — Titre de la carte. Défaut : NULL. |
sous_titre |
character ou NULL — Sous-titre. Défaut : NULL. |
source |
character ou NULL — Source des données. Défaut : NULL. |
palette |
character — Palette de couleurs : |
n_classes |
integer — Nombre de classes. Défaut : 5. |
na_couleur |
character — Couleur pour les NA. Défaut : "#cccccc". |
Value
Un objet ggplot.
Examples
## Not run:
carte_thematique(
data_sf = regions_sf_enrichi,
var_couleur = "taux_pauvrete_moyenne",
titre = "Taux de pauvrete par region"
)
## End(Not run)
Charger un fond de carte africain integre
Description
Charge un fond de carte geographique directement integre dans statAfrikR. Aucun package supplementaire requis.
Usage
carte_zones(
zone = c("afrique", "cemac", "cedeao", "eau", "sadc", "rca", "subdivisions"),
pays = NULL
)
Arguments
zone |
character – Zone geographique :
|
pays |
character ou NULL – Filtrer par noms de pays (colonne
|
Value
Un objet sf pret a l'emploi
Examples
# Tous les pays africains
afrique <- carte_zones("afrique")
# Zone CEMAC uniquement
cemac <- carte_zones("cemac")
# Prefectures de la RCA
rca <- carte_zones("rca")
# Filtrer : Cameroun + Centrafrique uniquement
sous_zone <- carte_zones("afrique", pays = c("CMR", "CAF"))
Consulter le catalogue des indicateurs statistiques
Description
Retourne la fiche methodologique complete d'un indicateur : definition, formule, standard de reference, ODD, methode de variance, seuils de qualite et statut INS-ready. Conforme GSBPM 5.2 / UN NQAF.
Usage
catalogue_indicateurs(
code = NULL,
domaine = NULL,
format = c("tableau", "liste", "complet")
)
Arguments
code |
character ou NULL – Code de l'indicateur. Si NULL, retourne la liste de tous les indicateurs disponibles. Codes disponibles : "FGT0", "FGT1", "FGT2", "IPM", "GINI", "STUNTING", "TAUX_ACTIVITE", "CHOMAGE", "INFORMEL", "MARIAGE_PRECOCE", "SATISFACTION_VIE", "PIB_CROISSANCE", "WHIPPLE" |
domaine |
character ou NULL – Filtrer par domaine. Ex : "Pauvrete monetaire", "Emploi", "Sante et nutrition". Defaut : NULL (tous les domaines) |
format |
character – Format de sortie : "liste" (objet R complet), "tableau" (tibble synthetique), "complet" (impression detaillee). Defaut : "tableau" |
Value
Un tibble, une liste ou un affichage selon le format choisi
Examples
# Lister tous les indicateurs
catalogue_indicateurs()
# Fiche methodologique d'un indicateur
catalogue_indicateurs("FGT0")
catalogue_indicateurs("IPM")
catalogue_indicateurs("GINI")
# Filtrer par domaine
catalogue_indicateurs(domaine = "Emploi")
# Format complet avec impression
catalogue_indicateurs("FGT0", format = "complet")
Détecter les valeurs manquantes
Description
Calcule le taux de valeurs manquantes par variable et produit un rapport de complétude. Alerte sur les variables dépassant le seuil.
Usage
check_na(data, seuil = 0.1, vars = NULL, alerter = TRUE)
Arguments
data |
data.frame ou tibble — Données à analyser |
seuil |
numeric — Taux de NA à partir duquel une alerte est émise (entre 0 et 1). Défaut : 0.1 (10%). |
vars |
character ou NULL — Variables à analyser. Si NULL, toutes les variables. Défaut : NULL. |
alerter |
logical — Émettre des avertissements pour les variables dépassant le seuil. Défaut : TRUE. |
Value
Un tibble avec les colonnes : variable, n_total,
n_manquant, taux_na, statut.
Examples
## Not run:
rapport_na <- check_na(donnees_enquete)
rapport_na <- check_na(donnees_enquete, seuil = 0.05, vars = c("age", "revenu"))
## End(Not run)
Vérifier les types de variables
Description
Vérifie la cohérence des types de variables par rapport aux types attendus. Détecte les problèmes courants : dates stockées en caractères, nombres stockés en texte, variables binaires incohérentes.
Usage
check_types(data, dictionnaire = NULL)
Arguments
data |
data.frame ou tibble — Données à vérifier |
dictionnaire |
data.frame ou NULL — Dictionnaire avec colonnes
|
Value
Un tibble avec les anomalies détectées :
variable, type_actuel, type_attendu, probleme.
Examples
## Not run:
anomalies <- check_types(donnees_enquete)
## End(Not run)
Verifier la coherence demographique des donnees
Description
Detecte les incoherences courantes dans les donnees demographiques : age mere < age enfant, dates d'evenements incoherentes, ages impossibles, sex-ratio aberrants, etc.
Usage
coherence_demo(
donnees,
var_age = NULL,
var_age_mere = NULL,
var_age_enfant = NULL,
var_age_deces = NULL,
var_sexe = NULL,
age_max_plausible = 120L
)
Arguments
donnees |
data.frame – Donnees individuelles ou menages |
var_age |
character ou NULL – Variable age. Defaut : NULL |
var_age_mere |
character ou NULL – Variable age de la mere. Defaut : NULL |
var_age_enfant |
character ou NULL – Variable age de l'enfant. Defaut : NULL |
var_age_deces |
character ou NULL – Variable age au deces. Defaut : NULL |
var_sexe |
character ou NULL – Variable sexe. Defaut : NULL |
age_max_plausible |
integer – Age maximum plausible. Defaut : 120L |
Value
Un tibble des anomalies detectees avec leur nombre
Examples
set.seed(42)
n <- 500
menages <- data.frame(
age = c(sample(0:100, n-5, TRUE), rep(-1, 3), rep(130, 2)),
age_mere = sample(15:60, n, TRUE),
age_enfant = sample(0:30, n, TRUE),
age_deces = c(sample(1:90, n-10, TRUE), rep(NA, 10)),
sexe = sample(c("H","F","X"), n, TRUE, prob=c(0.49,0.49,0.02))
)
coherence_demo(menages,
var_age="age", var_age_mere="age_mere",
var_age_enfant="age_enfant",
var_sexe="sexe")
Comparer l'IPM global et l'IPM national
Description
Compare les resultats du MPI global PNUD/OPHI et d'un IPM national. Produit un tableau des ecarts et un graphique.
Usage
comparer_ipm(
ipm_global,
ipm_national,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y"))
)
Arguments
ipm_global |
saf_ipm – Resultat IPM global (calcul_ipm()) |
ipm_national |
saf_ipm – Resultat IPM national (calcul_ipm_national()) |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
Value
Un tibble comparatif + graphique (invisible)
Examples
set.seed(42)
n <- 200
men <- data.frame(
nutr = rbinom(n,1,0.35), elec = rbinom(n,1,0.6),
eau = rbinom(n,1,0.4), scol = rbinom(n,1,0.3),
mort = rbinom(n,1,0.12), comb = rbinom(n,1,0.5),
poids = runif(n,0.8,1.3)
)
ipm_g <- calcul_ipm(men, var_nutrition="nutr",
var_electricite="elec", var_eau="eau",
var_scolarisation="scol", var_mortalite_inf="mort",
var_combustible="comb", poids="poids")
ipm_n <- calcul_ipm_national(men,
indicateurs=list(
eau = list(var="eau", poids=0.4, dimension="Vie"),
elec = list(var="elec", poids=0.35, dimension="Vie"),
scol = list(var="scol", poids=0.25, dimension="Education")
), poids="poids")
comparer_ipm(ipm_g, ipm_n, pays="Centrafrique", annee=2026L)
Comparer le PIB entre sources (INS vs UNSD vs BM vs FMI)
Description
Compare les estimations du PIB publiees par l'INS et les institutions internationales. Identifie les ecarts, leurs causes probables et produit un tableau de diagnostic. Outil cle pour renforcer la maitrise du narratif statistique national.
Usage
comparer_pib(
pib_ins,
pib_intl,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
unite = "Mds FCFA",
methode_ins = NULL,
seuil_alerte = 3
)
Arguments
pib_ins |
numeric – PIB publie par l'INS (en milliards FCFA ou USD selon l'unite choisie) |
pib_intl |
named numeric – PIB des institutions internationales. Vecteur nomme : ex : c(UNSD=245.2, BM=241.8, FMI=248.5) |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee de reference |
unite |
character – Unite monetaire. Defaut : "Mds FCFA" |
methode_ins |
character ou NULL – Methode INS : "production", "depenses", "revenus". Defaut : NULL |
seuil_alerte |
numeric – Seuil d'ecart en % declenchant une alerte. Defaut : 3.0 |
Value
Un objet de classe saf_pib
Examples
res <- comparer_pib(
pib_ins = 2450.5,
pib_intl = c(UNSD=2380.2, BM=2412.8, FMI=2398.5),
pays = "Cameroun",
annee = 2023L,
unite = "Mds FCFA"
)
print(res)
Compresser un package de diffusion
Description
Crée une archive ZIP structurée prête à diffuser, incluant les données, la documentation, les métadonnées et les scripts de traitement. Conforme aux standards IHSN de documentation des enquêtes.
Usage
compresser_package_diffusion(
donnees,
repertoire_sortie,
nom_package,
inclure_csv = TRUE,
inclure_rds = TRUE,
fichiers_supplementaires = NULL,
metadonnees = NULL
)
Arguments
donnees |
data.frame ou tibble — Données à archiver |
repertoire_sortie |
character — Répertoire de destination de l'archive |
nom_package |
character — Nom de base de l'archive (sans extension) |
inclure_csv |
logical — Inclure les données en CSV. Défaut : TRUE. |
inclure_rds |
logical — Inclure les données en RDS. Défaut : TRUE. |
fichiers_supplementaires |
character ou NULL — Chemins vers des fichiers additionnels à inclure (rapports, scripts, etc.). Défaut : NULL. |
metadonnees |
list ou NULL — Métadonnées à inclure dans un fichier README automatique. Défaut : NULL. |
Value
Chemin de l'archive ZIP (invisible).
Examples
## Not run:
compresser_package_diffusion(
donnees = donnees_emop_anon,
repertoire_sortie = "diffusion/",
nom_package = "EMOP_BEN_2023_v1",
fichiers_supplementaires = c(file.path(tempdir(), "rapport.docx"),
file.path(tempdir(), "emop_ddi.xml")),
metadonnees = list(
titre = "EMOP Bénin 2023",
institution = "INSAE",
version = "1.0"
)
)
## End(Not run)
Calculer la confiance dans les institutions
Description
Proportion de la population faisant confiance aux institutions publiques (gouvernement, justice, police, parlement). Indicateur de gouvernance percu. Methodologie Afrobarometer.
Usage
confiance_institutions(
donnees,
vars_institutions,
codes_confiance = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
vars_institutions |
named character – Vecteur nomme : institution -> variable 0/1 (ou codes_confiance si categorielle). Ex : c(Gouvernement="conf_gouv", Justice="conf_just") |
codes_confiance |
numeric ou NULL – Codes indiquant confiance. Defaut : NULL (variables deja binaires) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec taux de confiance par institution
Examples
set.seed(42)
n <- 500
individus <- data.frame(
conf_gouv = rbinom(n, 1, 0.35),
conf_just = rbinom(n, 1, 0.42),
conf_pol = rbinom(n, 1, 0.38),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
confiance_institutions(individus,
vars_institutions = c(Gouvernement="conf_gouv",
Justice="conf_just",
Police="conf_pol"),
poids="poids", sous_groupes="milieu")
Tracer la courbe de Lorenz
Description
Produit la courbe de Lorenz institutionnelle montrant la distribution cumulee des revenus. L'aire entre la diagonale et la courbe est egale a Gini/2.
Usage
courbe_lorenz(
donnees,
var_revenu,
poids = NULL,
var_groupe = NULL,
titre = NULL,
source = NULL
)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_groupe |
character ou NULL – Variable de groupe pour comparaison. Defaut : NULL |
titre |
character ou NULL – Titre. Defaut : NULL |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un objet ggplot2
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(150, 1/150000), rexp(50, 1/500000)),
milieu = sample(c("urbain","rural"), 200, TRUE),
poids = runif(200, 0.8, 1.3)
)
courbe_lorenz(menages, "depense", poids = "poids")
Creer un objet design d'enquete complexe
Description
Cree un objet de design d'enquete en precisant les strates, grappes, poids de sondage et la correction de population finie (FPC). Compatible avec les enquetes EHCVM, DHS, MICS, EFT, RGPH.
Usage
creer_design(
donnees,
var_poids,
var_strate = NULL,
var_grappe = NULL,
var_fpc = NULL,
type = c("stratifie_grappes", "stratifie", "en_grappes", "simple")
)
Arguments
donnees |
data.frame – Donnees de l'enquete |
var_poids |
character – Variable de poids de sondage |
var_strate |
character ou NULL – Variable de stratification. Defaut : NULL |
var_grappe |
character ou NULL – Variable d'unites primaires de sondage (grappes / UPS). Defaut : NULL |
var_fpc |
character ou NULL – Variable de correction de population finie (taille de la strate dans la population). Defaut : NULL |
type |
character – Type de design : "stratifie", "en_grappes", "stratifie_grappes", "simple". Defaut : "stratifie_grappes" |
Value
Un objet de classe saf_design encapsulant un objet
survey::svydesign
Examples
set.seed(42)
n <- 300
donnees <- data.frame(
poids_sond = runif(n, 1800, 3500),
strate = sample(c("Urbain","Rural","Semi-urbain"), n, TRUE),
grappe = sample(1:30, n, TRUE),
revenu = pmax(0, rnorm(n, 180000, 90000)),
pauvre = rbinom(n, 1, 0.45)
)
design <- creer_design(donnees, "poids_sond",
var_strate="strate", var_grappe="grappe")
print(design)
Decomposer les indices FGT par sous-groupe
Description
Decompose un indice FGT en contributions relatives de chaque sous-groupe a la pauvrete nationale.
Usage
decomposer_fgt(fgt_obj, variable, alpha_cible = 0)
Arguments
fgt_obj |
objet |
variable |
character – Sous-groupe a decomposer |
alpha_cible |
numeric – Indice a decomposer : 0, 1 ou 2. Defaut : 0 |
Value
Tibble avec contributions absolues et relatives
Examples
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, rate = 1/150000), rexp(30, rate = 1/400000)),
poids = runif(100, 0.8, 1.2),
milieu = sample(c("urbain", "rural"), 100, TRUE, prob = c(0.4, 0.6))
)
fgt <- calcul_fgt(menages, "depense_pc", 220000,
poids = "poids", sous_groupes = "milieu")
decomposer_fgt(fgt, "milieu", alpha_cible = 0)
Décomposer les inégalités
Description
Calcule les mesures d'inégalité (Gini, Theil, Atkinson) et leur décomposition inter/intra-groupe pour une variable de revenu ou de dépense.
Usage
decomposer_inegalite(
data,
var_revenu,
var_groupe = NULL,
var_poids = NULL,
mesures = c("all", "gini", "theil", "atkinson")
)
Arguments
data |
data.frame ou tibble — Données |
var_revenu |
character — Variable de revenu/dépense (strictement positive) |
var_groupe |
character ou NULL — Variable de groupe pour la décomposition. Défaut : NULL. |
var_poids |
character ou NULL — Variable de pondération. Défaut : NULL. |
mesures |
character — Mesures à calculer :
|
Value
Une liste avec les mesures d'inégalité et leur décomposition.
Examples
## Not run:
donnees <- data.frame(
depense_totale = rnorm(100, 250000, 80000),
milieu = sample(c("urbain", "rural"), 100, replace = TRUE)
)
decomposer_inegalite(donnees, var_revenu="depense_totale", var_groupe="milieu")
## End(Not run)
Decomposer l'IPM par sous-groupe
Description
Decompose l'IPM par region, milieu ou sexe du chef de menage. Retourne H, A et IPM par groupe, ainsi que la contribution de chaque groupe a l'IPM national.
Usage
decomposer_ipm(res_ipm, donnees, var_groupe, poids = NULL)
Arguments
res_ipm |
saf_ipm – Resultat de |
donnees |
data.frame – Donnees originales (meme ordre que lors du calcul de l'IPM) |
var_groupe |
character – Variable de sous-groupe (ex : "region", "milieu", "sexe_cm") |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un tibble avec H, A, IPM, n_obs et contribution par groupe
Examples
set.seed(42)
n <- 300
menages <- data.frame(
nutrition = rbinom(n, 1, 0.35),
electricite = rbinom(n, 1, 0.60),
eau = rbinom(n, 1, 0.40),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
res <- calcul_ipm(menages,
var_nutrition = "nutrition", var_electricite = "electricite",
var_eau = "eau", poids = "poids")
decomposer_ipm(res, menages, var_groupe = "milieu", poids = "poids")
Decomposer les inegalites selon l'indice de Theil
Description
Decompose l'inegalite totale en composantes inter-groupe et intra-groupe selon l'indice de Theil T (entropie generalisee GE(1)). Indispensable pour identifier les sources spatiales ou sociales de l'inegalite.
Usage
decomposer_theil(donnees, var_revenu, var_groupe, poids = NULL)
theil(donnees, var_revenu, var_groupe, poids = NULL)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
var_groupe |
character – Variable de groupe (region, milieu, sexe_cm) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un tibble avec Theil total, inter-groupe, intra-groupe et contribution de chaque groupe
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
milieu = sample(c("urbain","rural"), 300, TRUE),
poids = runif(300, 0.8, 1.3)
)
decomposer_theil(menages, "depense", "milieu", poids = "poids")
Detecter les zones non appariees entre deux sources
Description
Identifie les zones presentes dans les donnees mais absentes de la reference geographique. Propose des suggestions d'appariement par score de similarite (Jaro-Winkler). Essentiel avant toute jointure cartographique.
Usage
detecter_ecarts_geo(
donnees,
var_zone,
reference,
var_ref = "nom_local",
n_suggestions = 3L
)
Arguments
donnees |
data.frame – Donnees avec zones a verifier |
var_zone |
character – Variable zone dans les donnees |
reference |
data.frame ou saf_concordance – Reference geographique |
var_ref |
character – Variable zone dans la reference. Defaut : "nom_local" |
n_suggestions |
integer – Nombre de suggestions par zone. Defaut : 3L |
Value
Un tibble avec zones non appariees et suggestions
Examples
donnees <- data.frame(
region = c("Bangui","Ombella-Mpoko","Kemo","Zone inconnue"),
valeur = c(100, 200, 150, 80),
stringsAsFactors = FALSE
)
reference <- data.frame(
nom_local = c("Bangui","Ombella-M'Poko","Kemo",
"Bamingui-Bangoran","Mbomou"),
stringsAsFactors = FALSE
)
detecter_ecarts_geo(donnees, "region", reference, "nom_local")
Calculer le taux d'emaciation (wasting)
Description
Prevalence de l'emaciation : poids-pour-taille < -2 ecarts-types (standards OMS 2006). Indicateur de malnutrition aigue.
Usage
emaciation(
donnees,
var_poids_taille_z,
poids = NULL,
sous_groupes = NULL,
seuil = -2
)
Arguments
donnees |
data.frame – Donnees enfants < 5 ans |
var_poids_taille_z |
character – Score Z poids-pour-taille (WHZ) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
seuil |
numeric – Seuil score Z. Defaut : -2 |
Value
Un objet de classe saf_anthropo
Examples
set.seed(42)
n <- 400
enfants <- data.frame(
whz = rnorm(n, -0.8, 1.1),
poids = runif(n, 0.8, 1.3)
)
emaciation(enfants, var_poids_taille_z = "whz", poids = "poids")
Calculer le taux d'emploi informel
Description
Calcule la part de l'emploi informel selon la definition OIT 2013. L'emploi informel comprend les travailleurs sans contrat ecrit, sans protection sociale et sans conges payes.
Usage
emploi_informel(
donnees,
var_informel,
var_statut = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees employes |
var_informel |
character – Variable 0/1 : emploi informel |
var_statut |
character ou NULL – Variable de statut d'emploi (pour decomposition). Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 400
employes <- data.frame(
informel = rbinom(n, 1, 0.72),
secteur = sample(c("agriculture","services","industrie"), n, TRUE),
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
emploi_informel(employes, "informel", poids="poids",
sous_groupes=c("secteur","sexe"))
Calculer le taux d'emploi vulnerable
Description
Part des actifs occupes en situation d'emploi vulnerable : travailleurs familiaux non remuneres et travailleurs independants precaires. ODD 8.3.1.
Usage
emploi_vulnerable(donnees, var_vulnerable, poids = NULL, sous_groupes = NULL)
Arguments
donnees |
data.frame – Donnees actifs occupes |
var_vulnerable |
character – Variable 0/1 : emploi vulnerable |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 400
employes <- data.frame(
vulnerable = rbinom(n, 1, 0.55),
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
emploi_vulnerable(employes, "vulnerable", poids="poids",
sous_groupes="sexe")
Exporter le code source complet du dashboard
Description
Genere un fichier R autonome et entierement commente que l'agent INS peut ouvrir, modifier et relancer librement. Contient l'integralite du code du dashboard avec des sections clairement identifiees pour la personnalisation : titres, couleurs, indicateurs, filtres, sections.
Usage
exporter_code_dashboard(
chemin = "dashboard_statAfrikR.R",
pays = "Pays",
titre = NULL,
sous_titre = NULL,
var_poids = NULL,
var_region = NULL,
var_milieu = NULL
)
Arguments
chemin |
character – Chemin du fichier R a generer. Defaut : "dashboard_statAfrikR.R" |
pays |
character – Nom du pays pre-rempli. Defaut : "Pays" |
titre |
character ou NULL – Titre pre-rempli. Defaut : NULL |
sous_titre |
character ou NULL – Sous-titre pre-rempli. Defaut : NULL |
var_poids |
character ou NULL – Variable poids pre-remplie. Defaut : NULL |
var_region |
character ou NULL – Variable region pre-remplie. Defaut : NULL |
var_milieu |
character ou NULL – Variable milieu pre-remplie. Defaut : NULL |
Value
Invisible : chemin du fichier genere
Examples
## Not run:
# Generer le code source personnalisable
exporter_code_dashboard(
chemin = "mon_dashboard_rca.R",
pays = "Republique Centrafricaine",
titre = "Tableau de bord - Enquete EHCVM 2022",
sous_titre = "Indicateurs bien-etre - INS RCA",
var_poids = "poids_sondage",
var_region = "prefecture",
var_milieu = "milieu"
)
# Ouvrir le fichier genere dans RStudio
file.edit("mon_dashboard_rca.R")
## End(Not run)
Export Excel institutionnel multi-feuilles
Description
Exporte une liste de tableaux dans un classeur Excel avec feuille de sommaire.
Usage
exporter_excel_ins(
tableaux,
chemin,
titre_classeur = "Statistiques INS",
pays = NULL,
annee = NULL,
style = c("ins_standard", "minimal")
)
Arguments
tableaux |
list – Liste nommee de data.frames a exporter |
chemin |
character – Chemin du fichier Excel |
titre_classeur |
character – Titre general.
Defaut : |
pays |
character ou NULL – Pays/organisation. Defaut : NULL |
annee |
integer ou NULL – Annee de reference. Defaut : NULL |
style |
character – Style : |
Value
Chemin du fichier cree (invisible)
Examples
## Not run:
tableaux <- list(
"Descriptif" = data.frame(
variable = c("age", "revenu"),
n = c(200L, 200L),
moyenne = c(38.2, 245000)
),
"Croisement" = data.frame(
region = c("Nord", "Sud"),
urbain = c(45.2, 32.1),
rural = c(54.8, 67.9)
)
)
chemin <- file.path(tempdir(), "stats_ins.xlsx")
exporter_excel_ins(tableaux, chemin,
titre_classeur = "Enquete menages 2026",
pays = "Centrafrique", annee = 2026L)
## End(Not run)
Exporter un graphique en haute résolution
Description
Exporte un objet ggplot en PNG, PDF ou SVG avec les paramètres optimaux pour publication officielle.
Usage
exporter_graphique(
graphique,
chemin,
largeur = 20,
hauteur = 14,
dpi = 300L,
fond = "white"
)
Arguments
graphique |
ggplot — Objet graphique à exporter |
chemin |
character — Chemin de sortie avec extension (.png, .pdf, .svg) |
largeur |
numeric — Largeur en cm. Défaut : 20. |
hauteur |
numeric — Hauteur en cm. Défaut : 14. |
dpi |
integer — Résolution pour PNG (ignoré pour PDF/SVG). Défaut : 300. |
fond |
character — Couleur de fond. Défaut : "white". |
Value
Chemin du fichier exporté (invisible).
Examples
## Not run:
donnees <- data.frame(age=sample(0:80,100,replace=TRUE), sexe=sample(c("H","F"),100,replace=TRUE))
p <- pyramide_ages(donnees, "age", "sexe")
exporter_graphique(p, file.path(tempdir(), "pyramide.png"))
## End(Not run)
Exporter des données au format SDMX
Description
Génère un fichier SDMX-CSV ou SDMX-ML (Structure Data Message) conforme aux standards SDMX 2.1 pour l'échange de données statistiques avec les organisations internationales (FMI, BM, OCDE, etc.).
Usage
exporter_sdmx(
data,
flux_donnees,
agence = "INS",
vars_dimensions,
vars_mesures,
vars_attributs = NULL,
fichier_sortie,
version = "2.1"
)
Arguments
data |
data.frame ou tibble — Données à exporter |
flux_donnees |
character — Identifiant du flux de données (DataFlow). Ex: "BEN_EMOP_2023" |
agence |
character — Identifiant de l'agence productrice. Ex: "INSAE", "INSD". Défaut : "INS". |
vars_dimensions |
character — Variables identifiant les dimensions (axes d'analyse). Ex: c("PAYS", "ANNEE", "REGION"). |
vars_mesures |
character — Variables contenant les valeurs mesurées. |
vars_attributs |
character ou NULL — Variables d'attributs (métadonnées). Défaut : NULL. |
fichier_sortie |
character — Chemin du fichier de sortie (.csv). |
version |
character — Version SDMX. Défaut : "2.1". |
Value
Chemin du fichier exporté (invisible).
Examples
## Not run:
exporter_sdmx(
data = indicateurs_regionaux,
flux_donnees = "BEN_IDH_2023",
agence = "INSAE",
vars_dimensions = c("region", "annee"),
vars_mesures = c("idh", "taux_pauvrete"),
fichier_sortie = file.path(tempdir(), "indicateurs_sdmx.csv")
)
## End(Not run)
Fusionner plusieurs jeux de données
Description
Fusionne plusieurs datasets horizontalement (jointure) ou verticalement (empilement). Gère les conflits de noms de variables et produit un rapport de fusion.
Usage
fusion_datasets(
liste_data,
type = c("vertical", "horizontal"),
cle = NULL,
jointure = c("gauche", "interne", "droite", "complete"),
suffixes = c("_1", "_2")
)
Arguments
liste_data |
list — Liste nommée de data.frames/tibbles à fusionner |
type |
character — Type de fusion :
|
cle |
character ou NULL — Variable(s) clé(s) pour la fusion
horizontale. Obligatoire si |
jointure |
character — Type de jointure horizontale :
|
suffixes |
character — Suffixes pour les variables en conflit lors d'une fusion horizontale. Défaut : c("_1", "_2"). |
Value
Un tibble fusionné.
Examples
## Not run:
# Empilement de deux vagues d'enquête
donnees_total <- fusion_datasets(
liste_data = list(vague1 = emop_2022, vague2 = emop_2023),
type = "vertical"
)
# Jointure ménages + individus
donnees_merged <- fusion_datasets(
liste_data = list(menages = df_menages, individus = df_individus),
type = "horizontal",
cle = "id_menage"
)
## End(Not run)
Generer un bulletin statistique periodique
Description
Genere un bulletin statistique mensuel ou trimestriel avec indicateurs cles, graphiques de tendance et tableau de bord.
Usage
generer_bulletin(
indicateurs,
periode,
pays = "Pays",
sortie = c("html", "word"),
chemin_sortie = tempdir(),
ouvrir = FALSE
)
Arguments
indicateurs |
data.frame – Tableau des indicateurs avec colonnes :
|
periode |
character – Periode de reference (ex : "T1 2026", "Janvier 2026") |
pays |
character – Nom du pays. Defaut : "Pays" |
sortie |
character – Format : |
chemin_sortie |
character – Repertoire de destination.
Defaut : |
ouvrir |
logical – Ouvrir apres generation. Defaut : FALSE |
Value
Chemin du fichier genere (invisible)
Examples
## Not run:
indicateurs <- data.frame(
indicateur = c("Taux de pauvrete", "Taux de chomage",
"Acces eau potable", "Taux alphabetisation"),
valeur = c(71.8, 14.5, 42.3, 56.7),
unite = c("%", "%", "%", "%"),
periode = rep("2026", 4)
)
generer_bulletin(indicateurs, periode = "T1 2026",
pays = "Republique Centrafricaine")
## End(Not run)
Générer une fiche de métadonnées DDI
Description
Produit une fiche de métadonnées au format DDI (Data Documentation Initiative) Codebook 2.5, standard international pour l'archivage des enquêtes statistiques (IHSN, NADA, NESSTAR).
Usage
generer_metadonnees_ddi(
data,
titre = NULL,
pays = NULL,
annee = NULL,
institution = NULL,
auteurs = NULL,
description = NULL,
fichier_sortie = NULL,
langue = "fr"
)
Arguments
data |
data.frame ou tibble — Données de l'enquête |
titre |
character — Titre de l'enquête |
pays |
character — Pays concerné |
annee |
integer ou character — Année de l'enquête |
institution |
character — Institution productrice |
auteurs |
character ou NULL — Auteurs. Défaut : NULL. |
description |
character ou NULL — Description de l'enquête. Défaut : NULL. |
fichier_sortie |
character — Chemin du fichier XML de sortie |
langue |
character — Langue principale. Défaut : "fr". |
Value
Chemin du fichier généré (invisible).
Examples
## Not run:
generer_metadonnees_ddi(
data = donnees_emop,
titre = "Enquête Modulaire sur les Conditions de Vie — 2023",
pays = "Bénin",
annee = 2023,
institution = "INSAE",
fichier_sortie = file.path(tempdir(), "emop_2023_ddi.xml")
)
## End(Not run)
Générer un rapport statistique officiel
Description
Produit un rapport Word (.docx) ou PDF à partir d'un template R Markdown. Intègre automatiquement les tableaux, graphiques et métadonnées. Compatible avec les templates AFRISTAT et PARIS21.
Usage
generer_rapport(
donnees,
template = "bulletin_mensuel",
format_sortie = c("word", "pdf"),
fichier_sortie = NULL,
metadonnees = NULL,
ouvrir = FALSE
)
Arguments
donnees |
data.frame ou tibble — Données à inclure dans le rapport |
template |
character — Chemin vers le template .Rmd ou nom d'un
template intégré : |
format_sortie |
character — |
fichier_sortie |
character ou NULL — Chemin du fichier de sortie. Si NULL, génère un nom automatique. Défaut : NULL. |
metadonnees |
list ou NULL — Liste de métadonnées à injecter : titre, auteur, pays, annee, institution. Défaut : NULL. |
ouvrir |
logical — Ouvrir le rapport après génération. Défaut : FALSE. |
Value
Chemin du fichier généré (invisible).
Examples
## Not run:
generer_rapport(
donnees = resultats_enquete,
template = "bulletin_mensuel",
format_sortie = "word",
metadonnees = list(
titre = "Bulletin mensuel — Mars 2024",
pays = "Bénin",
institution = "INSAE",
annee = 2024
)
)
## End(Not run)
Generer un rapport d'enquete menage parametre
Description
Genere un rapport statistique complet a partir de donnees d'enquete menage, en utilisant un template R Markdown pre-construit. Le rapport inclut une page de garde, des statistiques descriptives, une pyramide demographique et les indicateurs cles.
Usage
generer_rapport_enquete(
donnees,
meta = list(),
template = c("enquete_menage", "bulletin"),
sortie = c("html", "pdf", "word"),
chemin_sortie = tempdir(),
vars_analyse = NULL,
var_poids = NULL,
ouvrir = FALSE
)
Arguments
donnees |
data.frame – Donnees d'enquete menage |
meta |
list – Metadonnees du rapport. Elements attendus :
|
template |
character – Nom du template :
|
sortie |
character – Format de sortie : |
chemin_sortie |
character – Repertoire de destination.
Defaut : |
vars_analyse |
character ou NULL – Variables a analyser. Si NULL, detecte automatiquement les variables numeriques. Defaut : NULL |
var_poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
ouvrir |
logical – Ouvrir le rapport apres generation. Defaut : FALSE |
Value
Chemin du fichier genere (invisible)
Examples
## Not run:
set.seed(42)
donnees <- data.frame(
age = sample(18:70, 200, replace = TRUE),
revenu = rexp(200, rate = 1/250000),
sexe = sample(c("H","F"), 200, TRUE),
milieu = sample(c("urbain","rural"), 200, TRUE),
poids = runif(200, 0.8, 1.3)
)
meta <- list(
pays = "Republique Centrafricaine",
titre = "Enquete sur les conditions de vie des menages",
annee = 2026L,
source = "ICASEES",
auteur = "Direction des Statistiques"
)
generer_rapport_enquete(donnees, meta, sortie = "html")
## End(Not run)
Generer un rapport de suivi des ODD parametre
Description
Genere un rapport de suivi des Objectifs de Developpement Durable au format standard PARIS21/Nations Unies.
Usage
generer_rapport_odd(
resultats_odd,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
cibles = NULL,
sortie = c("html", "pdf", "word"),
chemin_sortie = tempdir(),
ouvrir = FALSE
)
Arguments
resultats_odd |
list – Liste d'objets |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee de reference. Defaut : annee courante |
cibles |
list ou NULL – Cibles nationales par code ODD. Defaut : NULL |
sortie |
character – Format : |
chemin_sortie |
character – Repertoire. Defaut : |
ouvrir |
logical – Ouvrir apres generation. Defaut : FALSE |
Value
Chemin du fichier genere (invisible)
Examples
## Not run:
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, 1/150000), rexp(30, 1/500000)),
electricite = sample(c(0L,1L), 100, TRUE, c(0.45, 0.55)),
internet = sample(c(0L,1L), 100, TRUE, c(0.72, 0.28))
)
r1 <- odd_indicateur(menages, "1.2.1",
var_depense = "depense_pc", seuil = 200000)
r2 <- odd_indicateur(menages, "7.1.1",
var_indicateur = "electricite")
generer_rapport_odd(
list(r1, r2),
pays = "Republique Centrafricaine",
annee = 2026L,
cibles = list("1.2.1" = 50, "7.1.1" = 80)
)
## End(Not run)
Graphique en barres pondéré
Description
Génère un graphique en barres avec intervalles de confiance optionnels, adapté aux résultats d'enquêtes pondérées.
Usage
graphique_barres(
data,
var_x,
var_y,
var_groupe = NULL,
var_ic_bas = NULL,
var_ic_haut = NULL,
position = c("dodge", "stack"),
titre = NULL,
label_x = NULL,
label_y = NULL,
pourcentage = FALSE,
trier = FALSE
)
Arguments
data |
data.frame, tibble ou résultat de |
var_x |
character — Variable en abscisse (catégories) |
var_y |
character — Variable en ordonnée (valeurs) |
var_groupe |
character ou NULL — Variable de regroupement (barres groupées). Défaut : NULL. |
var_ic_bas |
character ou NULL — Variable borne inférieure IC. Défaut : NULL. |
var_ic_haut |
character ou NULL — Variable borne supérieure IC. Défaut : NULL. |
position |
character — |
titre |
character ou NULL — Titre. Défaut : NULL. |
label_x |
character ou NULL — Label axe X. Défaut : NULL. |
label_y |
character ou NULL — Label axe Y. Défaut : NULL. |
pourcentage |
logical — Formater l'axe Y en pourcentage. Défaut : FALSE. |
trier |
logical — Trier les barres par valeur décroissante. Défaut : FALSE. |
Value
Un objet ggplot.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
df <- data.frame(region=c("Nord","Sud","Est","Ouest"), valeur=c(35.2,28.7,41.1,22.5))
graphique_barres(df, var_x="region", var_y="valeur", titre="Indicateur")
}
Graphique des indices FGT
Description
Visualise les indices FGT nationaux et/ou par sous-groupe.
Usage
graphique_fgt(
fgt_obj,
type = c("barres", "indices"),
variable = NULL,
couleur = "#1B4965"
)
Arguments
fgt_obj |
objet |
type |
character – |
variable |
character ou NULL – Variable de sous-groupe a representer |
couleur |
character – Couleur principale. Defaut : |
Value
Objet ggplot2
Examples
## Not run:
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, 1/150000), rexp(30, 1/400000)),
poids = runif(100, 0.8, 1.2),
milieu = sample(c("urbain", "rural"), 100, TRUE, c(0.4, 0.6))
)
fgt <- calcul_fgt(menages, "depense_pc", 220000,
poids = "poids", sous_groupes = "milieu")
graphique_fgt(fgt, type = "barres", variable = "milieu")
## End(Not run)
Graphique des contributions IPM
Description
Produit un graphique en barres des contributions de chaque indicateur et chaque dimension a l'IPM. Retourne un objet ggplot2.
Usage
graphique_ipm(
res_ipm,
type = c("indicateurs", "dimensions"),
titre = NULL,
source = NULL
)
Arguments
res_ipm |
saf_ipm – Resultat de |
type |
character – |
titre |
character ou NULL – Titre du graphique. Defaut : NULL |
source |
character ou NULL – Note de source. Defaut : NULL |
Value
Un objet ggplot2
Examples
set.seed(42)
n <- 200
menages <- data.frame(
nutrition = rbinom(n,1,0.35), electricite = rbinom(n,1,0.60),
eau = rbinom(n,1,0.40), scolarisation = rbinom(n,1,0.30),
poids = runif(n,0.8,1.3)
)
res <- calcul_ipm(menages, var_nutrition="nutrition",
var_electricite="electricite", var_eau="eau",
var_scolarisation="scolarisation", poids="poids")
graphique_ipm(res)
Graphique de tendance temporelle
Description
Génère un graphique de tendance pour un ou plusieurs indicateurs sur une période temporelle. Adapté au suivi des indicateurs ODD et des indicateurs macroéconomiques.
Usage
graphique_tendance(
data,
var_temps,
var_valeur = NULL,
var_indicateur = NULL,
vars_indicateurs = NULL,
titre = NULL,
label_y = "Valeur",
afficher_points = TRUE,
afficher_valeurs = FALSE,
lisser = FALSE
)
Arguments
data |
data.frame ou tibble — Données en format long ou large |
var_temps |
character — Variable temporelle (année, trimestre...) |
var_valeur |
character — Variable de valeur (format long) ou NULL si format large. Défaut : NULL. |
var_indicateur |
character ou NULL — Variable d'indicateur (format long). Défaut : NULL. |
vars_indicateurs |
character ou NULL — Vecteur de colonnes à tracer (format large). Défaut : NULL. |
titre |
character ou NULL — Titre. Défaut : NULL. |
label_y |
character — Label axe Y. Défaut : "Valeur". |
afficher_points |
logical — Afficher les points. Défaut : TRUE. |
afficher_valeurs |
logical — Annoter les valeurs. Défaut : FALSE. |
lisser |
logical — Ajouter une courbe lissée (loess). Défaut : FALSE. |
Value
Un objet ggplot.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
df <- data.frame(annee=2015:2023, pib=c(45,48,51,49,53,55,52,58,61))
graphique_tendance(df, var_temps="annee", vars_indicateurs="pib", titre="PIB")
}
Calculer la prevalence du handicap
Description
Prevalence du handicap par type (visuel, auditif, moteur, cognitif) selon la methodologie Washington Group / recensement.
Usage
handicap_prevalence(donnees, vars_handicap, poids = NULL, sous_groupes = NULL)
Arguments
donnees |
data.frame – Donnees individuelles |
vars_handicap |
named character – Vecteur nomme : type de handicap -> variable 0/1. Ex: c(Visuel="hand_vis", Moteur="hand_mot") |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec prevalence par type de handicap
Examples
set.seed(42)
n <- 500
individus <- data.frame(
hand_vis = rbinom(n, 1, 0.04),
hand_aud = rbinom(n, 1, 0.03),
hand_mot = rbinom(n, 1, 0.05),
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
handicap_prevalence(individus,
vars_handicap = c(Visuel="hand_vis", Auditif="hand_aud",
Moteur="hand_mot"),
poids = "poids")
Harmoniser les noms de régions/provinces
Description
Standardise les noms de régions géographiques selon un référentiel national ou africain. Corrige les variantes orthographiques, les abréviations et les noms en langues locales.
Usage
harmoniser_regions(
data,
var_region,
pays = NULL,
table_correspondance = NULL,
var_sortie = "region_std",
signaler_non_trouves = TRUE
)
Arguments
data |
data.frame ou tibble — Données à harmoniser |
var_region |
character — Nom de la variable contenant les régions |
pays |
character ou NULL — Code pays ISO2 pour utiliser le référentiel
intégré (ex: "BJ", "BF", "SN", "CI", "ML", "NE", "TG", "CM", "GN").
Si NULL, utilise |
table_correspondance |
data.frame ou NULL — Table de correspondance
avec colonnes |
var_sortie |
character — Nom de la nouvelle colonne standardisée. Défaut : "region_std". |
signaler_non_trouves |
logical — Afficher les valeurs non reconnues. Défaut : TRUE. |
Value
Le tibble avec une colonne var_sortie ajoutée contenant
les régions standardisées.
Examples
## Not run:
donnees <- data.frame(region = c("Littoral","Atlantique","Borgou"))
harmoniser_regions(donnees, var_region = "region", pays = "BJ")
## End(Not run)
Harmoniser les noms de zones geographiques
Description
Normalise automatiquement les noms de zones : suppression des accents, standardisation de la casse, suppression des caracteres speciaux. Permet de faire des jointures geographiques robustes meme quand les orthographes different entre sources.
Usage
harmoniser_zones(
donnees,
var_zone,
reference = NULL,
var_ref = "nom_local",
seuil_similarite = 0.85
)
Arguments
donnees |
data.frame – Donnees a harmoniser |
var_zone |
character – Variable contenant les noms de zones |
reference |
saf_concordance ou data.frame – Table de reference. Si NULL, harmonise seulement les noms (sans correspondance). Defaut : NULL |
var_ref |
character – Variable de la reference correspondant. Defaut : "nom_local" |
seuil_similarite |
numeric – Seuil de score Jaro-Winkler pour l'appariement automatique (0-1). Defaut : 0.85 |
Value
Un data.frame avec colonne supplementaire de nom harmonise
Examples
donnees_enquete <- data.frame(
region = c("Bangui","BANGUI","Ombella Mpoko","Bamingui Bangoran"),
valeur = c(120, 85, 200, 150),
stringsAsFactors = FALSE
)
harmoniser_zones(donnees_enquete, "region")
Importer des données CSPro
Description
Lit les fichiers de données produits par CSPro (format .dat avec dictionnaire .dcf associé). Retourne un tibble avec les labels issus du dictionnaire CSPro. Fonction prioritaire pour les RGPH africains. Compatible avec CSPro 4.x à 8.x.
Usage
import_cspro(
fichier_dat,
fichier_dcf = NULL,
niveau = NULL,
encoding = "UTF-8",
max_lignes = NULL,
verbose = TRUE
)
Arguments
fichier_dat |
character — Chemin vers le fichier de données (.dat) |
fichier_dcf |
character ou NULL — Chemin vers le dictionnaire (.dcf). Si NULL, recherche automatiquement un .dcf de même nom dans le même répertoire. Défaut : NULL. |
niveau |
character ou NULL — Niveau d'enregistrement à lire (ex: "MENAGE", "INDIVIDU", "LOGEMENT"). Si NULL, lit le premier niveau. Défaut : NULL. |
encoding |
character — Encodage du fichier source. Défaut : "UTF-8". |
max_lignes |
integer ou NULL — Nombre maximum de lignes à lire (utile pour les tests sur grands fichiers RGPH). Défaut : NULL (tout lire). |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble avec une colonne par variable CSPro. Les labels de valeurs
sont stockés dans les attributs du tibble (attr(., "labels_cspro")).
Examples
## Not run:
# Import du niveau ménage d'un RGPH
menages <- import_cspro(
fichier_dat = "data/rgph_2024.dat",
fichier_dcf = "data/rgph_2024.dcf",
niveau = "MENAGE"
)
# Test sur les 1000 premières lignes
test <- import_cspro("data/rgph_2024.dat", max_lignes = 1000)
## End(Not run)
Importer un fichier CSV
Description
Importe un fichier CSV avec détection automatique de l'encodage, du séparateur et du séparateur décimal. Gère les formats courants des INS africains (séparateurs point-virgule, virgule, tabulation).
Usage
import_csv(
chemin,
separateur = NULL,
encodage = "UTF-8",
decimal = ".",
na = c("", "NA", "N/A", "n/a", ".", " "),
verbose = TRUE
)
Arguments
chemin |
character — Chemin vers le fichier CSV |
separateur |
character ou NULL — Séparateur de colonnes. Si NULL, détection automatique. Défaut : NULL. |
encodage |
character — Encodage du fichier. Défaut : "UTF-8" (essaie aussi "latin1" si UTF-8 échoue). |
decimal |
character — Séparateur décimal ("." ou ","). Défaut : ".". |
na |
character — Valeurs à interpréter comme NA. Défaut : c("", "NA", "N/A", "n/a", ".", " "). |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble.
Examples
## Not run:
donnees <- import_csv("data/prix_marches.csv")
donnees_fr <- import_csv("data/donnees_fr.csv", decimal = ",")
## End(Not run)
Importer un fichier Excel
Description
Importe un fichier Excel (.xlsx, .xls) avec détection automatique des feuilles, gestion des en-têtes multiples et conversion intelligente des types de colonnes. Optimisé pour les formats courants des INS africains.
Usage
import_excel(
chemin,
feuille = 1,
skip = 0,
col_types = NULL,
na = c("", "NA", "N/A", "n/a", ".", " "),
verbose = TRUE
)
Arguments
chemin |
character — Chemin vers le fichier Excel (.xlsx ou .xls) |
feuille |
character ou integer ou NULL — Nom ou numéro de la feuille à importer. Si NULL, importe toutes les feuilles sous forme de liste. Défaut : 1 (première feuille). |
skip |
integer — Nombre de lignes à ignorer avant l'en-tête. Défaut : 0. |
col_types |
character ou NULL — Types des colonnes (voir readxl). Si NULL, détection automatique. Défaut : NULL. |
na |
character — Valeurs à interpréter comme NA. Défaut : c("", "NA", "N/A", "n/a", ".", " "). |
verbose |
logical — Afficher les messages de progression. Défaut : TRUE. |
Value
Un tibble si une seule feuille, une liste de tibbles si
feuille = NULL.
See Also
import_csv, valider_dictionnaire
Examples
## Not run:
# Import de la première feuille
donnees <- import_excel("data/enquete_menage.xlsx")
# Import d'une feuille spécifique
menages <- import_excel("data/emop_2024.xlsx", feuille = "Menages")
# Import de toutes les feuilles
toutes <- import_excel("data/rapport.xlsx", feuille = NULL)
## End(Not run)
Importer des données depuis KoboToolbox
Description
Importe un formulaire KoboToolbox via fichier local (XLS/JSON) ou via l'API REST KoboToolbox. Retourne un tibble annoté avec les métadonnées du formulaire. Compatible avec KoboToolbox et KoBoCAT.
Usage
import_kobo(
source,
uid = NULL,
token = Sys.getenv("KOBO_TOKEN"),
format = c("xls", "json"),
langue = "French (fr)",
verbose = TRUE
)
Arguments
source |
character — Chemin vers un fichier XLS/JSON local, ou URL de base de l'API (ex: "https://kf.kobotoolbox.org"). |
uid |
character ou NULL — Identifiant unique du formulaire (requis si source = URL API). Défaut : NULL. |
token |
character — Jeton d'authentification API. Peut aussi être
défini via la variable d'environnement |
format |
character — Format du fichier local : "xls" ou "json". Ignoré si source est une URL. Défaut : "xls". |
langue |
character — Code langue pour les labels multilingues (ex: "French (fr)", "English (en)"). Défaut : "French (fr)". |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble avec les colonnes du formulaire. L'attribut
attr(., "metadonnees_kobo") contient le dictionnaire des variables.
Examples
## Not run:
# Import depuis fichier XLS local
donnees <- import_kobo(source = "data/enquete_2024.xls")
# Import depuis API KoboToolbox
Sys.setenv(KOBO_TOKEN = "mon_token_secret")
donnees <- import_kobo(
source = "https://kf.kobotoolbox.org",
uid = "aXmNk7pQrS",
langue = "French (fr)"
)
## End(Not run)
Importer des données ODK Central
Description
Importe les soumissions d'un formulaire ODK Central via l'API REST ou depuis un fichier d'export local (ZIP ou CSV). Compatible avec ODK Central 1.x et 2.x.
Usage
import_odk(
source,
projet_id = NULL,
formulaire_id = NULL,
email = Sys.getenv("ODK_EMAIL"),
mot_de_passe = Sys.getenv("ODK_PASSWORD"),
inclure_metadonnees = FALSE,
verbose = TRUE
)
Arguments
source |
character — URL du serveur ODK Central (ex: "https://odk.monins.org") ou chemin vers un fichier d'export .zip/.csv. |
projet_id |
integer ou NULL — ID du projet ODK. Requis si source est une URL. Défaut : NULL. |
formulaire_id |
character ou NULL — ID du formulaire ODK. Requis si source est une URL. Défaut : NULL. |
email |
character ou NULL — Email de connexion ODK Central.
Peut aussi être défini via |
mot_de_passe |
character — Mot de passe ODK Central.
Peut aussi être défini via |
inclure_metadonnees |
logical — Inclure les colonnes de métadonnées ODK (timestamps, deviceid, etc.). Défaut : FALSE. |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble contenant les soumissions du formulaire.
Examples
## Not run:
# Import depuis export ZIP local
donnees <- import_odk(source = "data/odk_export_2024.zip")
# Import depuis API ODK Central
Sys.setenv(ODK_EMAIL = "admin@ins.org", ODK_PASSWORD = "motdepasse")
donnees <- import_odk(
source = "https://odk.monins.org",
projet_id = 1,
formulaire_id = "enquete_menage_2024"
)
## End(Not run)
Importer un fichier SAS
Description
Importe un fichier SAS (.sas7bdat) ou un fichier de formats SAS (.sas7bcat) avec préservation des labels.
Usage
import_sas(chemin, chemin_formats = NULL, encoding = "UTF-8", verbose = TRUE)
Arguments
chemin |
character — Chemin vers le fichier .sas7bdat |
chemin_formats |
character ou NULL — Chemin vers le fichier de formats .sas7bcat (optionnel). Défaut : NULL. |
encoding |
character — Encodage. Défaut : "UTF-8". |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble.
Examples
## Not run:
donnees <- import_sas("data/enquete_emploi.sas7bdat")
## End(Not run)
Importer un fichier SPSS
Description
Importe un fichier SPSS (.sav ou .zsav) avec préservation des labels de variables et de valeurs SPSS.
Usage
import_spss(
chemin,
garder_labels = TRUE,
convertir_labels = FALSE,
encoding = NULL,
verbose = TRUE
)
Arguments
chemin |
character — Chemin vers le fichier .sav ou .zsav |
garder_labels |
logical — Conserver les labels. Défaut : TRUE. |
convertir_labels |
logical — Convertir en facteurs. Défaut : FALSE. |
encoding |
character ou NULL — Encodage. Si NULL, détection auto. Défaut : NULL. |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble.
Examples
## Not run:
mics <- import_spss("data/mics6_enfants.sav")
## End(Not run)
Importer un fichier Stata
Description
Importe un fichier Stata (.dta) avec préservation des labels de variables et de valeurs. Compatible avec toutes les versions Stata (Stata 8 à Stata 18).
Usage
import_stata(
chemin,
encoding = "UTF-8",
garder_labels = TRUE,
convertir_labels = FALSE,
verbose = TRUE
)
Arguments
chemin |
character — Chemin vers le fichier .dta |
encoding |
character — Encodage pour les labels. Défaut : "UTF-8". |
garder_labels |
logical — Conserver les labels comme attributs. Défaut : TRUE. |
convertir_labels |
logical — Convertir les variables labellisées en facteurs. Défaut : FALSE. |
verbose |
logical — Afficher les messages. Défaut : TRUE. |
Value
Un tibble avec attributs de labels si garder_labels = TRUE.
Examples
## Not run:
eds <- import_stata("data/eds_2021.dta")
eds_facteurs <- import_stata("data/eds_2021.dta", convertir_labels = TRUE)
## End(Not run)
Imputer les valeurs manquantes
Description
Impute les valeurs manquantes d'un dataset selon la méthode spécifiée. Supporte l'imputation simple (statistiques descriptives), hot-deck et par régression. Produit un rapport de traçabilité.
Usage
imputer_valeurs(
data,
vars = NULL,
methode = c("mediane", "moyenne", "mode", "hot_deck", "regression"),
vars_auxiliaires = NULL,
graine = 42L,
rapport = TRUE
)
Arguments
data |
data.frame ou tibble — Données avec valeurs manquantes |
vars |
character ou NULL — Variables à imputer. Si NULL, toutes les variables avec valeurs manquantes. Défaut : NULL. |
methode |
character — Méthode d'imputation :
|
vars_auxiliaires |
character ou NULL — Variables auxiliaires pour l'imputation par régression ou hot-deck. Défaut : NULL. |
graine |
integer — Graine aléatoire pour la reproductibilité. Défaut : 42. |
rapport |
logical — Retourner un rapport d'imputation. Défaut : TRUE. |
Value
Si rapport = FALSE : tibble imputé.
Si rapport = TRUE : liste avec $donnees et $rapport.
Examples
## Not run:
donnees <- data.frame(revenu_mensuel=c(150000,NA,200000), age=c(25,34,NA))
imputer_valeurs(donnees, vars=c("revenu_mensuel","age"), methode="mediane")
## End(Not run)
Calculer l'indice d'Atkinson
Description
L'indice d'Atkinson est une mesure d'inegalite parametrique dont le parametre epsilon reflete l aversion a l'inegalite de la societe. Epsilon = 0 : indifference ; Epsilon = 1 : forte aversion.
Usage
indice_atkinson(donnees, var_revenu, poids = NULL, epsilon = 1)
atkinson(donnees, var_revenu, poids = NULL, epsilon = 1)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
epsilon |
numeric – Parametre d'aversion a l'inegalite (>0). Defaut : 1.0 |
Value
Un scalaire numerique (indice d'Atkinson)
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
poids = runif(300, 0.8, 1.3)
)
indice_atkinson(menages, "depense", poids = "poids", epsilon = 1)
Calculer l'indice de Palma
Description
L'indice de Palma est le rapport entre la part de revenu des 10% les plus riches et celle des 40% les plus pauvres. Il est plus sensible aux extremes que le coefficient de Gini.
Usage
indice_palma(donnees, var_revenu, poids = NULL)
palma(donnees, var_revenu, poids = NULL)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un scalaire numerique (indice de Palma)
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
poids = runif(300, 0.8, 1.3)
)
indice_palma(menages, "depense", poids = "poids")
Calculer le taux d'insuffisance ponderale
Description
Prevalence de l'insuffisance ponderale : poids-pour-age < -2 ecarts-types chez les enfants de moins de 5 ans.
Usage
insuffisance_ponderale(
donnees,
var_poids_age_z,
poids = NULL,
sous_groupes = NULL,
seuil = -2
)
Arguments
donnees |
data.frame – Donnees enfants < 5 ans |
var_poids_age_z |
character – Score Z poids-pour-age (WAZ) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
seuil |
numeric – Seuil score Z. Defaut : -2 |
Value
Un objet de classe saf_anthropo
Examples
set.seed(42)
n <- 400
enfants <- data.frame(
waz = rnorm(n, -1.0, 1.2),
poids = runif(n, 0.8, 1.3)
)
insuffisance_ponderale(enfants, var_poids_age_z = "waz", poids = "poids")
Lancer le tableau de bord interactif statAfrikR
Description
Lance une application Shiny pre-configuree presentant tous les indicateurs de bien-etre calcules depuis les donnees fournies. Zero code Shiny requis. Fonctionne entierement hors ligne. Compatible EHCVM, DHS, MICS, EFT.
Usage
lancer_dashboard(
donnees = NULL,
var_poids = NULL,
var_region = NULL,
var_milieu = NULL,
var_annee = NULL,
pays = "Pays",
titre = NULL,
sous_titre = NULL,
port = 3838L,
lancer = TRUE,
export_html = NULL
)
Arguments
donnees |
data.frame ou NULL – Donnees menages. Si NULL, utilise des donnees de demonstration. Defaut : NULL |
var_poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_region |
character ou NULL – Variable region/prefecture. Defaut : NULL |
var_milieu |
character ou NULL – Variable milieu (urbain/rural). Defaut : NULL |
var_annee |
character ou NULL – Variable annee. Defaut : NULL |
pays |
character – Nom du pays pour les titres. Defaut : "Pays" |
titre |
character ou NULL – Titre principal du dashboard. Defaut : "Tableau de bord - NOM_DU_PAYS" (nom du pays en parametre) |
sous_titre |
character ou NULL – Sous-titre du dashboard. Defaut : "Indicateurs de bien-etre - NOM_DU_PAYS - statAfrikR v0.2.0" |
port |
integer – Port Shiny. Defaut : 3838L |
lancer |
logical – Lancer l'app (TRUE) ou retourner l'objet shinyApp (FALSE). Defaut : TRUE |
export_html |
character ou NULL – Chemin pour exporter un rapport HTML statique sans lancer Shiny. Defaut : NULL |
Value
Invisible : objet shinyApp si lancer=FALSE, NULL sinon
Examples
## Not run:
lancer_dashboard()
lancer_dashboard(
donnees = mon_enquete,
var_poids = "poids_sondage",
var_region = "prefecture",
pays = "Centrafrique"
)
## End(Not run)
Lister les templates de rapport disponibles
Description
Retourne la liste des templates R Markdown disponibles dans statAfrikR avec leur description et parametres.
Usage
lister_templates()
Value
Un tibble avec : nom, description, parametres, format_sortie
Examples
lister_templates()
Calculer le taux de mariage precoce
Description
Proportion de femmes/hommes maries avant 18 ans (ODD 5.3.1) avec desagregation et analyse des tendances par cohorte d'age.
Usage
mariage_precoce(
donnees,
var_marie_avant_18,
var_cohorte = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees femmes (15-49 ans) |
var_marie_avant_18 |
character – Variable 0/1 : marie(e) avant 18 ans |
var_cohorte |
character ou NULL – Variable de cohorte ou groupe d'age pour analyser les tendances. Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_genre
Examples
set.seed(42)
n <- 500
femmes <- data.frame(
marie_18 = rbinom(n, 1, 0.42),
cohorte = sample(c("15-19","20-24","25-29","30-34","35-49"),
n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
mariage_precoce(femmes, "marie_18",
var_cohorte = "cohorte",
poids = "poids", sous_groupes = "milieu")
Migrer d'une nomenclature geographique vers une autre
Description
Convertit les codes ou noms d'une nomenclature vers une autre en utilisant une table de concordance. Gere les fusions et scissions de zones administratives dans le temps.
Usage
migrer_nomenclature(
donnees,
var_zone_source,
concordance,
var_source = "nom_local",
var_cible = "code_iso",
var_resultat = "zone_harmonisee",
conserver_non_apparies = TRUE
)
Arguments
donnees |
data.frame – Donnees a convertir |
var_zone_source |
character – Variable zone source |
concordance |
saf_concordance ou data.frame – Table de concordance |
var_source |
character – Variable source dans la concordance. Defaut : "nom_local" |
var_cible |
character – Variable cible dans la concordance. Defaut : "code_iso" |
var_resultat |
character – Nom de la nouvelle variable. Defaut : "zone_harmonisee" |
conserver_non_apparies |
logical – Conserver les zones non appariees (NA dans var_cible). Defaut : TRUE |
Value
Un data.frame avec la nouvelle variable de zone
Examples
concordance_df <- data.frame(
nom_local = c("Bangui","Ombella-M'Poko","Bamingui-Bangoran"),
code_iso = c("CF-BGF","CF-MP","CF-BB"),
code_ins = c("01","02","03"),
stringsAsFactors = FALSE
)
concordance <- table_concordance(concordance_df, "nom_local",
var_code_iso="code_iso",
var_code_ins="code_ins")
donnees_enquete <- data.frame(
zone = c("Bangui","Ombella-M'Poko","Zone inconnue"),
valeur = c(100, 200, 150),
stringsAsFactors = FALSE
)
migrer_nomenclature(donnees_enquete, "zone", concordance,
var_source="nom_local", var_cible="code_iso")
Calculer le taux de mortalite des enfants de moins de 5 ans
Description
Calcule le taux de mortalite infanto-juvenile (U5MR) en pour 1 000 naissances vivantes. ODD 3.2.1.
Usage
mortalite_5ans(
donnees,
var_naissances_vivantes,
var_deces_enfants,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees femmes en age de procrer (15-49 ans) ou historique des naissances |
var_naissances_vivantes |
character – Nombre total de naissances vivantes par femme |
var_deces_enfants |
character – Nombre de deces d'enfants < 5 ans par femme |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_mortalite
Examples
set.seed(42)
n <- 600
femmes <- data.frame(
naissances_vivantes = rpois(n, 3.5),
deces_enfants = rbinom(n, 4, 0.08),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
mortalite_5ans(femmes,
var_naissances_vivantes = "naissances_vivantes",
var_deces_enfants = "deces_enfants",
poids = "poids")
Calculer l'indice de Myers (attraction sur tous les chiffres)
Description
Mesure l'attraction sur les 10 chiffres terminaux (0-9). L'indice de Myers varie de 0 (aucune attraction) a 90 (attraction maximale). Un indice < 10 indique une bonne qualite des donnees d'age.
Usage
myers(donnees, var_age, age_min = 10L, age_max = 89L, poids = NULL)
Arguments
donnees |
data.frame – Donnees individuelles |
var_age |
character – Variable age en annees revolues |
age_min |
integer – Age minimum. Defaut : 10L |
age_max |
integer – Age maximum. Defaut : 89L |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un objet de classe saf_qualite_demo
Examples
set.seed(42)
n <- 1000
ages_base <- sample(10:89, n, TRUE)
# Attraction sur les ages ronds
ages <- ifelse(runif(n) < 0.20,
ages_base - (ages_base %% 10),
ages_base)
individus <- data.frame(age = pmax(10, pmin(89, ages)))
myers(individus, "age")
Nettoyer les libellés de variables textuelles
Description
Normalise les chaînes de caractères : suppression des espaces superflus, normalisation de la casse, gestion des caractères spéciaux, correction des encodages. Préserve les caractères accentués africains et francophones.
Usage
nettoyer_libelles(
data,
vars = NULL,
casse = c("titre", "majuscule", "minuscule", "aucune"),
supprimer_espaces = TRUE,
supprimer_ponctuation = FALSE,
encodage = "UTF-8"
)
Arguments
data |
data.frame ou tibble — Données à nettoyer |
vars |
character ou NULL — Variables à nettoyer. Si NULL, toutes les variables de type character. Défaut : NULL. |
casse |
character — Normalisation de la casse :
|
supprimer_espaces |
logical — Supprimer les espaces multiples et les espaces en début/fin. Défaut : TRUE. |
supprimer_ponctuation |
logical — Supprimer la ponctuation superflue. Défaut : FALSE. |
encodage |
character — Encodage cible. Défaut : "UTF-8". |
Value
Un tibble avec les variables textuelles nettoyées.
Examples
## Not run:
donnees <- data.frame(region = c(" nord ","SUD"), commune = c("Cotonou "," parakou"))
nettoyer_libelles(donnees, vars = c("region", "commune"))
## End(Not run)
Catalogue des indicateurs ODD pour les INS africains
Description
Retourne le catalogue des indicateurs ODD implementes dans statAfrikR, selectionnes selon leur pertinence et disponibilite pour les INS africains (reference PARIS21, AFRISTAT, Nations Unies).
Usage
odd_catalogue(
objectif = NULL,
disponibilite = NULL,
statut = NULL,
format = c("tibble", "flextable")
)
Arguments
objectif |
integer ou NULL – Filtrer par numero d'ODD (1 a 17). NULL retourne tous les indicateurs. Defaut : NULL |
disponibilite |
character ou NULL – Filtrer par disponibilite des
donnees : |
statut |
character ou NULL – Filtrer par statut d'implementation :
|
format |
character – |
Value
Tibble ou flextable du catalogue filtre
Examples
# Tous les indicateurs
odd_catalogue()
# Indicateurs ODD 1 (pauvrete) implementes
odd_catalogue(objectif = 1, statut = "implementee")
# Indicateurs a haute disponibilite
odd_catalogue(disponibilite = "haute")
Calculer un indicateur ODD
Description
Calcule un indicateur ODD specifique a partir des donnees
d'enquete. Retourne un objet saf_odd avec la valeur, les
metadonnees et les composantes du calcul.
Usage
odd_indicateur(data, code_odd, ..., poids = NULL, na.rm = TRUE)
Arguments
data |
data.frame ou |
code_odd |
character – Code ODD au format "X.Y.Z"
(ex : "1.1.1", "7.1.1"). Voir |
... |
Arguments specifiques a chaque indicateur (voir Details) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
na.rm |
logical – Exclure les NA. Defaut : TRUE |
Details
Arguments specifiques par indicateur :
- 1.1.1
-
var_depense: variable de depenses par tete,seuil: seuil en monnaie locale (defaut : equivalence 2.15 USD PPA) - 1.2.1
-
var_depense: variable de depenses par tete,seuil: seuil national de pauvrete - 2.2.1
-
var_taille: taille de l'enfant (cm),var_age_mois: age en mois,var_sexe: sexe (1=M, 2=F ou "M"/"F") - 3.2.1
-
var_deces_enfant: indicateur deces enfant (0/1),var_naissances: nombre de naissances vivantes ou variable indicatrice - 5.3.1
-
var_age_mariage: age au premier mariage,var_age_actuel: age actuel,seuil_age: seuil (defaut : 18) - 5.5.2, 8.5.2, 8.6.1, 6.1.1, 7.1.1, 10.2.1, 11.1.1, 16.9.1, 17.8.1
-
var_indicateur: variable binaire (1 = condition remplie, 0 = non) - 10.1.1
-
var_depense: variable de depenses,var_periode: variable de periode (annees),seuil_pct: percentile inferieur (defaut : 40)
Value
Un objet de classe saf_odd avec :
- valeur
Valeur de l'indicateur
- unite
Unite de mesure
- code_odd
Code ODD
- titre_court
Libelle court
- numerateur
Numerateur du calcul
- denominateur
Denominateur du calcul
- n_obs
Observations utilisees
- na_count
Valeurs manquantes exclues
- meta
Metadonnees completes du catalogue
Examples
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, rate = 1/150000), rexp(30, rate = 1/500000)),
poids = runif(100, 0.8, 1.2),
electricite = sample(c(0L, 1L), 100, TRUE, prob = c(0.45, 0.55)),
eau_potable = sample(c(0L, 1L), 100, TRUE, prob = c(0.35, 0.65)),
internet = sample(c(0L, 1L), 100, TRUE, prob = c(0.7, 0.3))
)
# ODD 1.2.1 - Pauvrete nationale
odd_indicateur(menages, "1.2.1",
var_depense = "depense_pc", seuil = 200000,
poids = "poids")
# ODD 7.1.1 - Acces a l'electricite
odd_indicateur(menages, "7.1.1", var_indicateur = "electricite",
poids = "poids")
Palette de couleurs INS
Description
Retourne une palette de couleurs officielle pour les graphiques INS, compatible daltonisme.
Usage
palette_ins(n = 6, type = c("categoriel", "sequentiel", "divergent"))
Arguments
n |
integer — Nombre de couleurs souhaité. Défaut : 6. |
type |
character — |
Value
Vecteur de codes couleurs hexadécimaux.
Examples
palette_ins(4)
Calculer l'indice de parite filles/garcons en education
Description
Calcule l'Indice de Parite entre les Sexes (ISP) pour les taux de scolarisation bruts et nets. ODD 4.5.1. ISP = valeur filles / valeur garcons. ISP = 1 = parite parfaite.
Usage
parite_education(
donnees,
var_scolarise,
var_sexe,
poids = NULL,
var_niveau = NULL
)
Arguments
donnees |
data.frame – Donnees menages ou enfants |
var_scolarise |
character – Variable 0/1 : enfant scolarise |
var_sexe |
character – Variable sexe (H/F, M/F, 1/2, homme/femme) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_niveau |
character ou NULL – Niveau scolaire pour ISP par niveau. Defaut : NULL |
Value
Un objet de classe saf_genre
Examples
set.seed(42)
n <- 600
enfants <- data.frame(
scolarise = rbinom(n, 1, 0.72),
sexe = sample(c("H","F"), n, TRUE),
niveau = sample(c("primaire","secondaire"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
parite_education(enfants, "scolarise", "sexe",
poids="poids", var_niveau="niveau")
Calculer les parts de revenu par quintile ou decile
Description
Calcule la part de revenu ou de consommation detenue par chaque quintile (ou decile) de la population. Inclut les ratios Palma et Q5/Q1.
Usage
part_quintile(donnees, var_revenu, poids = NULL, n_groupes = 5L)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
n_groupes |
integer – 5 (quintiles) ou 10 (deciles). Defaut : 5L |
Value
Un tibble avec parts par groupe + ratios Palma et Q5/Q1
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
poids = runif(300, 0.8, 1.3)
)
part_quintile(menages, "depense", poids = "poids")
Calculer le taux de pauvrete au travail (working poor)
Description
Proportion des actifs occupes vivant sous le seuil de pauvrete national. Indicateur ODD 8.1.1 et lien emploi-pauvrete.
Usage
pauvrete_travail(
donnees,
var_employe,
var_revenu,
seuil,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles (actifs occupes) |
var_employe |
character – Variable 0/1 : a un emploi |
var_revenu |
character – Variable de revenu ou consommation par tete du menage |
seuil |
numeric – Seuil de pauvrete national |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 500
individus <- data.frame(
employe = rbinom(n, 1, 0.60),
revenu = pmax(10000, rnorm(n, 180000, 90000)),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
pauvrete_travail(individus, "employe", "revenu",
seuil = 144800, poids = "poids")
Calculer la perception de la situation economique
Description
Proportion de menages pouvant joindre les deux bouts ou percevant leur situation economique comme bonne ou tres bonne.
Usage
perception_economique(
donnees,
var_perception,
codes_positifs = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees menages |
var_perception |
character – Variable de perception economique. 0/1 (1=situation positive) OU categorielle avec codes_positifs. |
codes_positifs |
numeric ou NULL – Codes positifs si variable categorielle. Defaut : NULL (variable deja binaire) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_subjectif
Examples
set.seed(42)
n <- 400
menages <- data.frame(
econ_ok = rbinom(n, 1, 0.38),
quintile = sample(paste0("Q", 1:5), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
perception_economique(menages, "econ_ok", poids="poids",
sous_groupes="quintile")
Calculer le score de privations ressenties
Description
Calcule la proportion de menages ayant declare souffrir de privations subjectives (manque de nourriture, eau, medicaments, argent) au cours des 12 derniers mois. Complement a l'IPM.
Usage
privations_ressenties(
donnees,
vars_privations,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees menages |
vars_privations |
named character – Vecteur nomme : type de privation -> variable 0/1. Ex : c(Nourriture="manque_nour", Eau="manque_eau", Medicaments="manque_med") |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec prevalence par type de privation
Examples
set.seed(42)
n <- 400
menages <- data.frame(
manque_nour = rbinom(n, 1, 0.48),
manque_eau = rbinom(n, 1, 0.35),
manque_med = rbinom(n, 1, 0.58),
manque_arg = rbinom(n, 1, 0.62),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
privations_ressenties(menages,
vars_privations = c(Nourriture="manque_nour",
Eau="manque_eau",
Medicaments="manque_med",
Argent="manque_arg"),
poids="poids", sous_groupes="milieu")
Calculer la couverture de protection sociale
Description
Calcule la proportion de la population couverte par au moins un regime de protection sociale (retraite, assurance maladie, allocations). ODD 1.3.1.
Usage
protection_sociale(donnees, vars_protection, poids = NULL, sous_groupes = NULL)
Arguments
donnees |
data.frame – Donnees menages ou individus |
vars_protection |
named character – Vecteur nomme : type de protection -> variable 0/1. Ex: c(Retraite="retraite", Assurance_maladie="assur_maladie") |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec couverture par type de protection
Examples
set.seed(42)
n <- 400
individus <- data.frame(
retraite = rbinom(n, 1, 0.18),
assur_maladie = rbinom(n, 1, 0.22),
allocations = rbinom(n, 1, 0.12),
poids = runif(n, 0.8, 1.3)
)
protection_sociale(individus,
vars_protection = c(Retraite="retraite",
Assurance_maladie="assur_maladie",
Allocations="allocations"),
poids = "poids")
Construire et tracer la pyramide des ages
Description
Produit une pyramide des ages institutionnelle au format ggplot2. Permet la superposition de deux annees pour l'analyse des tendances demographiques.
Usage
pyramide_age(
donnees,
var_age,
var_sexe,
code_homme = "H",
code_femme = "F",
poids = NULL,
groupes_age = 5L,
titre = NULL,
source = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_age |
character – Variable age en annees |
var_sexe |
character – Variable sexe |
code_homme |
character ou numeric – Code hommes. Defaut : "H" |
code_femme |
character ou numeric – Code femmes. Defaut : "F" |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
groupes_age |
integer – Largeur des groupes. Defaut : 5L |
titre |
character ou NULL – Titre. Defaut : NULL |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un objet ggplot2
Examples
set.seed(42)
n <- 3000
individus <- data.frame(
age = round(rexp(n, 1/30)),
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
individus$age <- pmin(individus$age, 85)
pyramide_age(individus, "age", "sexe", poids="poids",
titre="Pyramide des ages", source="Recensement 2024")
Pyramide des âges
Description
Génère une pyramide des âges pondérée à partir de données individuelles ou agrégées. Adapté aux recensements et enquêtes démographiques.
Usage
pyramide_ages(
data,
var_age,
var_sexe,
var_poids = NULL,
modalite_homme = "Masculin",
modalite_femme = "Féminin",
largeur_classe = 5L,
age_max = 80L,
titre = NULL,
pourcentage = TRUE,
couleur_homme = "#1B6CA8",
couleur_femme = "#E8872A"
)
Arguments
data |
data.frame ou tibble — Données individuelles |
var_age |
character — Variable d'âge |
var_sexe |
character — Variable de sexe/genre |
var_poids |
character ou NULL — Variable de pondération. Défaut : NULL. |
modalite_homme |
character — Modalité masculine. Défaut : "Masculin". |
modalite_femme |
character — Modalité féminine. Défaut : "Féminin". |
largeur_classe |
integer — Largeur des classes d'âge en années. Défaut : 5. |
age_max |
integer — Âge maximum affiché. Défaut : 80. |
titre |
character ou NULL — Titre du graphique. Défaut : NULL. |
pourcentage |
logical — Afficher en pourcentage (TRUE) ou effectifs (FALSE). Défaut : TRUE. |
couleur_homme |
character — Couleur hommes. Défaut : "#1B6CA8". |
couleur_femme |
character — Couleur femmes. Défaut : "#E8872A". |
Value
Un objet ggplot.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
donnees <- data.frame(age=sample(0:80,100,replace=TRUE), sexe=sample(c("H","F"),100,replace=TRUE))
pyramide_ages(donnees, var_age="age", var_sexe="sexe")
}
Produire un rapport d'harmonisation geographique
Description
Genere un rapport complet sur l'harmonisation geographique : zones appariees, non appariees, ambigues. Format institutionnel conforme aux standards IHSN/PARIS21.
Usage
rapport_harmonisation(
donnees,
var_zone,
reference,
var_ref = "nom_local",
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y"))
)
Arguments
donnees |
data.frame – Donnees source |
var_zone |
character – Variable zone |
reference |
data.frame ou saf_concordance – Reference geographique |
var_ref |
character – Variable zone de reference. Defaut : "nom_local" |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
Value
Un tibble de rapport d'harmonisation
Examples
donnees <- data.frame(
region = c("Bangui","Ombella-Mpoko","Kemo","Zone inconnue"),
stringsAsFactors = FALSE
)
ref <- data.frame(
nom_local = c("Bangui","Ombella-M'Poko","Kemo","Bamingui-Bangoran"),
stringsAsFactors = FALSE
)
rapport_harmonisation(donnees, "region", ref, pays="RCA", annee=2026L)
Produire un rapport de qualite des donnees demographiques
Description
Synthetise les indicateurs de qualite des donnees demographiques (Whipple, Myers, rapport de masculinite, coherence) en un tableau institutionnel conforme aux standards Nations Unies.
Usage
rapport_qualite_demo(
donnees,
var_age,
var_sexe = NULL,
poids = NULL,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
source_donnees = "Recensement"
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_age |
character – Variable age |
var_sexe |
character ou NULL – Variable sexe. Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
source_donnees |
character – Source des donnees. Defaut : "Recensement" |
Value
Un tibble de rapport qualite
Examples
set.seed(42)
n <- 2000
ages_base <- sample(10:79, n, TRUE)
ages <- ifelse(runif(n) < 0.15, ages_base - ages_base%%5, ages_base)
individus <- data.frame(
age = ages,
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
rapport_qualite_demo(individus, "age", var_sexe="sexe",
poids="poids", pays="RCA", annee=2024L)
Produire un rapport de qualite du plan de sondage
Description
Genere un rapport de synthese sur la qualite du plan de sondage : taux de reponse, effets de plan, CV, validite des poids. Format institutionnel IHSN/DHS.
Usage
rapport_qualite_sondage(
saf_design,
variables = NULL,
var_reponse = NULL,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y"))
)
Arguments
saf_design |
saf_design – Objet design |
variables |
character ou NULL – Variables pour le calcul du DEFF. Defaut : NULL |
var_reponse |
character ou NULL – Variable de non-reponse. Defaut : NULL |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
Value
Un tibble de rapport qualite
Examples
set.seed(42)
n <- 300
donnees <- data.frame(
poids_sond = runif(n, 1800, 3500),
strate = sample(c("Urbain","Rural"), n, TRUE),
grappe = sample(1:20, n, TRUE),
repondu = rbinom(n, 1, 0.88),
pauvre = rbinom(n, 1, 0.45)
)
design <- suppressMessages(
creer_design(donnees,"poids_sond",var_strate="strate",var_grappe="grappe"))
rapport_qualite_sondage(design, variables="pauvre",
var_reponse="repondu",
pays="RCA", annee=2026L)
Calculer le rapport de masculinite par groupe d'age
Description
Calcule le rapport de masculinite (nombre d'hommes pour 100 femmes) par groupe d'age quinquennal. Permet de detecter des anomalies liees aux guerres, migrations ou erreurs de collecte.
Usage
ratio_masculinite(
donnees,
var_age,
var_sexe,
code_homme = "H",
code_femme = "F",
poids = NULL,
groupes_age = 5L
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_age |
character – Variable age en annees |
var_sexe |
character – Variable sexe |
code_homme |
character ou numeric – Code pour les hommes. Defaut : "H" |
code_femme |
character ou numeric – Code pour les femmes. Defaut : "F" |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
groupes_age |
integer – Largeur des groupes d'age. Defaut : 5L |
Value
Un tibble avec rapport de masculinite par groupe d'age
Examples
set.seed(42)
n <- 2000
individus <- data.frame(
age = sample(0:79, n, TRUE),
sexe = sample(c("H","F"), n, TRUE, prob=c(0.49,0.51)),
poids = runif(n, 0.8, 1.3)
)
ratio_masculinite(individus, "age", "sexe", poids="poids")
Recoder une variable
Description
Recode une variable selon une table de correspondance explicite. Supporte le recodage numérique (classes d'âge, quintiles) et textuel (modalités). Traçabilité complète des transformations.
Usage
recoder_variable(
data,
var,
table_recodage,
var_sortie = NULL,
na_si_absent = TRUE
)
Arguments
data |
data.frame ou tibble — Données |
var |
character — Nom de la variable à recoder |
table_recodage |
data.frame — Table avec colonnes |
var_sortie |
character ou NULL — Nom de la variable recodée. Si NULL, remplace la variable originale. Défaut : NULL. |
na_si_absent |
logical — Mettre NA si la valeur n'est pas dans la table de recodage. Défaut : TRUE. |
Value
Le tibble avec la variable recodée.
Examples
## Not run:
# Recodage des classes d'âge
table_age <- data.frame(
avant = c("15-24", "25-34", "35-49", "50+"),
apres = c("Jeune", "Adulte", "Adulte", "Senior")
)
donnees <- recoder_variable(donnees, "classe_age", table_age)
# Recodage avec vecteur nommé
donnees <- recoder_variable(
donnees, "sexe",
table_recodage = c("1" = "Masculin", "2" = "Féminin")
)
## End(Not run)
Calculer le taux de retard de croissance (stunting)
Description
Calcule la prevalence du retard de croissance chez les enfants de moins de 5 ans (taille-pour-age < -2 ecarts-types selon les standards OMS 2006). ODD 2.2.1.
Usage
retard_croissance(
donnees,
var_taille_age_z = NULL,
var_taille = NULL,
var_age_mois = NULL,
var_sexe = NULL,
poids = NULL,
sous_groupes = NULL,
seuil = -2
)
Arguments
donnees |
data.frame – Donnees enfants < 5 ans |
var_taille_age_z |
character – Score Z taille-pour-age (HAZ). Si NULL, calcule depuis var_taille, var_age et var_sexe. Defaut : NULL |
var_taille |
character ou NULL – Taille en cm. Defaut : NULL |
var_age_mois |
character ou NULL – Age en mois. Defaut : NULL |
var_sexe |
character ou NULL – Sexe (1=garcon, 2=fille ou "M"/"F"). Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
seuil |
numeric – Seuil (score Z). Defaut : -2 |
Value
Un objet de classe saf_anthropo
Examples
set.seed(42)
n <- 500
enfants <- data.frame(
haz = rnorm(n, -1.2, 1.3),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.7, 1.4)
)
retard_croissance(enfants, var_taille_age_z = "haz", poids = "poids")
Departements du Cameroun
Description
10 regions du Cameroun.
Usage
saf_cameroun_departements
Format
Objet sf avec colonnes : departement, code, geometry.
Source
Natural Earth – statAfrikR Foundation
Examples
cam <- carte_zones('subdivisions', pays = 'CMR')
Zone CEDEAO – 15 pays membres
Description
Communaute Economique des Etats de l'Afrique de l'Ouest.
Usage
saf_cedeao
Format
Objet sf (sous-ensemble de saf_pays_afrique)
Source
Natural Earth – statAfrikR Foundation
Examples
cedeao <- carte_zones('cedeao')
Zone CEMAC – 6 pays membres
Description
Cameroun, Centrafrique, Congo, Gabon, Guinee Equatoriale, Tchad.
Usage
saf_cemac
Format
Objet sf (sous-ensemble de saf_pays_afrique)
Source
Natural Earth – statAfrikR Foundation
Examples
cemac <- carte_zones('cemac')
Zone EAC – Afrique de l'Est
Description
Communaute d'Afrique de l'Est.
Usage
saf_eau
Format
Objet sf (sous-ensemble de saf_pays_afrique)
Source
Natural Earth – statAfrikR Foundation
Examples
eau <- carte_zones('eau')
Pays africains – fond de carte integre
Description
Fond de carte des 54 pays africains.
Usage
saf_pays_afrique
Format
Objet sf avec colonnes : pays, pays_fr, iso2, iso3, sous_region, geometry.
Source
Natural Earth via rnaturalearth – statAfrikR Foundation
Examples
afrique <- carte_zones('afrique')
Prefectures de la Republique Centrafricaine
Description
17 prefectures de la RCA avec codes administratifs.
Usage
saf_rca_prefectures
Format
Objet sf avec colonnes : pays, iso3, prefecture, code, geometry.
Source
Natural Earth – statAfrikR Foundation
Examples
rca <- carte_zones('rca')
Zone SADC – Afrique Australe
Description
Communaute de Developpement de l'Afrique Australe.
Usage
saf_sadc
Format
Objet sf (sous-ensemble de saf_pays_afrique)
Source
Natural Earth – statAfrikR Foundation
Examples
sadc <- carte_zones('sadc')
Regions du Senegal
Description
14 regions du Senegal.
Usage
saf_senegal_regions
Format
Objet sf avec colonnes : region, code, geometry.
Source
Natural Earth – statAfrikR Foundation
Examples
sen <- carte_zones('subdivisions', pays = 'SEN')
Subdivisions de niveau 1 – tous les pays africains
Description
Prefectures, regions et provinces de 43 pays africains (744 subdivisions + 17 prefectures RCA = 761 total).
Usage
saf_subdivisions_afrique
Format
Objet sf avec colonnes : pays, iso3, subdivision, code_admin, geometry.
Source
Natural Earth – statAfrikR Foundation
Examples
cam <- carte_zones('subdivisions', pays = 'CMR')
Calculer les indicateurs de sante mentale
Description
Prevalence des symptomes de stress, anxiete et isolement percu. Compatible avec les modules Kessler K6, PHQ-4 et GAD-2 adaptes aux enquetes menages africaines.
Usage
sante_mentale(
donnees,
var_stress = NULL,
var_anxiete = NULL,
var_isolement = NULL,
type = c("binaire", "score"),
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_stress |
character ou NULL – Variable stress (0/1 ou score). Defaut : NULL |
var_anxiete |
character ou NULL – Variable anxiete (0/1). Defaut : NULL |
var_isolement |
character ou NULL – Variable isolement social (0/1). Defaut : NULL |
type |
character – "binaire" (variables 0/1) ou "score" (variables continues). Defaut : "binaire" |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec prevalence par indicateur
Examples
set.seed(42)
n <- 500
individus <- data.frame(
stress = rbinom(n, 1, 0.38),
anxiete = rbinom(n, 1, 0.28),
isolement = rbinom(n, 1, 0.22),
sexe = sample(c("H","F"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
sante_mentale(individus, var_stress="stress",
var_anxiete="anxiete", var_isolement="isolement",
poids="poids", sous_groupes="sexe")
Calculer le score de satisfaction dans la vie
Description
Calcule le score moyen de satisfaction dans la vie sur une echelle de 0 a 10 (echelle de Cantril). Indicateur de bien-etre subjectif global conforme a la methodologie OCDE / Gallup World Poll.
Usage
satisfaction_vie(donnees, var_satisfaction, poids = NULL, sous_groupes = NULL)
Arguments
donnees |
data.frame – Donnees individuelles |
var_satisfaction |
character – Variable de satisfaction (0-10) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_subjectif
Examples
set.seed(42)
n <- 500
individus <- data.frame(
satisfaction = pmin(10, pmax(0, round(rnorm(n, 5.8, 2.1)))),
milieu = sample(c("urbain","rural"), n, TRUE),
quintile = sample(paste0("Q", 1:5), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
satisfaction_vie(individus, "satisfaction", poids="poids",
sous_groupes=c("milieu","quintile"))
Calculer le sentiment de securite
Description
Proportion de la population se sentant en securite (le soir dans le quartier, au travail, dans les transports). Methodologie Afrobarometer / Gallup.
Usage
sentiment_securite(
donnees,
var_securite,
codes_securise = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_securite |
character – Variable de securite percue (0/1 ou codes_securise) |
codes_securise |
numeric ou NULL – Codes indiquant "securise". Defaut : NULL (variable deja binaire) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_subjectif
Examples
set.seed(42)
n <- 400
individus <- data.frame(
securise = rbinom(n, 1, 0.52),
sexe = sample(c("H","F"), n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
sentiment_securite(individus, "securise", poids="poids",
sous_groupes=c("sexe","milieu"))
Calculer le taux de sous-emploi en temps de travail
Description
Calcule la proportion de personnes en emploi travaillant moins d'heures qu'elles ne le souhaitent (sous-emploi visible). Composante de LU2 dans la mesure de la sous-utilisation de la main-d'oeuvre OIT.
Usage
sous_emploi_temps(
donnees,
var_heures_travaillees,
var_heures_souhaitees = NULL,
seuil_heures = 35L,
var_disponible = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individus en emploi |
var_heures_travaillees |
character – Heures effectivement travaillees par semaine |
var_heures_souhaitees |
character ou NULL – Heures souhaitees. Si NULL, utilise le seuil. Defaut : NULL |
seuil_heures |
integer – Seuil d'heures hebdomadaires en dessous duquel il y a sous-emploi (defaut : 35L) |
var_disponible |
character ou NULL – Variable 0/1 : disponible pour travailler plus. Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 400
employes <- data.frame(
heures_trav = pmax(0, rnorm(n, 38, 15)),
disponible = rbinom(n, 1, 0.3),
poids = runif(n, 0.8, 1.3)
)
sous_emploi_temps(employes, "heures_trav",
seuil_heures = 35L, poids = "poids")
Standardiser les âges déclarés
Description
Détecte et corrige le "heap effect" (attraction vers les âges ronds) fréquent dans les enquêtes africaines où les âges sont déclarés. Calcule l'indice de Whipple et l'indice de Myers pour évaluer la qualité.
Usage
standardiser_ages(
data,
var_age = "age",
methode = c("aucune", "interpolation", "united_nations"),
age_min = 0L,
age_max = 120L
)
Arguments
data |
data.frame ou tibble — Données |
var_age |
character — Nom de la variable d'âge |
methode |
character — Méthode de correction :
|
age_min |
integer — Âge minimum valide. Défaut : 0. |
age_max |
integer — Âge maximum valide. Défaut : 120. |
Value
Une liste avec :
donnees |
tibble avec âges corrigés si methode != "aucune" |
indice_whipple |
numeric — Indice de Whipple (1 = parfait, > 1.05 = problème) |
indice_myers |
numeric — Indice de Myers (0 = parfait) |
diagnostic |
character — Évaluation de la qualité |
Examples
## Not run:
donnees <- data.frame(age = sample(0:80, 200, replace=TRUE))
standardiser_ages(donnees, var_age="age")
## End(Not run)
Statistiques descriptives pondérées
Description
Calcule les statistiques descriptives complètes pour une ou plusieurs variables numériques, avec prise en compte optionnelle du plan de sondage complexe. Produit un tableau formaté prêt à publier.
Usage
stat_descr(
data,
vars,
groupe = NULL,
ponderee = TRUE,
ic = TRUE,
format_sortie = c("tibble", "flextable")
)
Arguments
data |
data.frame, tibble ou objet |
vars |
character — Noms des variables à analyser |
groupe |
character ou NULL — Variable de regroupement. Défaut : NULL. |
ponderee |
logical — Utiliser les pondérations si data est un svydesign. Défaut : TRUE. |
ic |
logical — Calculer les intervalles de confiance à 95%. Défaut : TRUE. |
format_sortie |
character — Format : |
Value
Tibble ou flextable avec : n, moyenne, médiane, écart-type, min, max, IC95.
Examples
## Not run:
donnees <- data.frame(age=c(25,34,45), revenu=c(150000,200000,180000))
stat_descr(donnees, vars=c("age","revenu"))
## End(Not run)
Suivre les revisions du PIB
Description
Analyse les revisions entre les estimations preliminaires, provisoires et definitives du PIB. Produit un tableau et un graphique de suivi conforme aux bonnes pratiques de communication des INS.
Usage
suivre_revisions_pib(
donnees,
var_annee = "annee",
var_version = "version",
var_valeur = "valeur",
pays = "Pays",
unite = "Mds FCFA"
)
Arguments
donnees |
data.frame – Donnees avec colonnes annee, version, valeur. Versions attendues : "preliminaire", "provisoire", "definitif" |
var_annee |
character – Variable annee. Defaut : "annee" |
var_version |
character – Variable version du PIB. Defaut : "version" |
var_valeur |
character – Variable valeur du PIB. Defaut : "valeur" |
pays |
character – Nom du pays. Defaut : "Pays" |
unite |
character – Unite. Defaut : "Mds FCFA" |
Value
Un objet de classe saf_revision_pib
Examples
revisions <- data.frame(
annee = rep(2019:2022, each=3),
version = rep(c("preliminaire","provisoire","definitif"), 4),
valeur = c(2210,2225,2240, 2320,2335,2348,
2415,2430,NA, 2510,NA,NA),
stringsAsFactors = FALSE
)
suivre_revisions_pib(revisions, pays="Cameroun", unite="Mds FCFA")
Détecter et supprimer les doublons
Description
Identifie et supprime les enregistrements dupliqués selon une ou plusieurs clés d'identification. Produit un rapport des doublons détectés.
Usage
supprimer_doublons(
data,
cles = NULL,
garder = c("premier", "dernier", "aucun"),
rapport = TRUE
)
Arguments
data |
data.frame ou tibble — Données à dédupliquer |
cles |
character ou NULL — Variables clés pour la détection. Si NULL, utilise toutes les colonnes. Défaut : NULL. |
garder |
character — Quel doublon conserver :
|
rapport |
logical — Retourner un rapport des doublons. Défaut : TRUE. |
Value
Si rapport = FALSE : tibble dédupliqué.
Si rapport = TRUE : liste avec $donnees et $rapport.
Examples
## Not run:
donnees <- data.frame(id=c(1,2,2,3), val=c(10,20,20,30))
supprimer_doublons(donnees, cles="id")
## End(Not run)
Tableau croisé pondéré avec intervalles de confiance
Description
Produit un tableau croisé (ou tableau de fréquences simple) avec prise en compte optionnelle de la pondération et du plan de sondage complexe. Résultat formaté pour publication directe.
Usage
tab_croisee(
data,
var_ligne,
var_col = NULL,
var_poids = NULL,
ic = TRUE,
pourcentage = c("colonne", "ligne", "total"),
format_sortie = c("flextable", "tibble")
)
Arguments
data |
data.frame, tibble ou objet |
var_ligne |
character — Variable en ligne |
var_col |
character ou NULL — Variable en colonne. Si NULL, tableau de fréquences simple. Défaut : NULL. |
var_poids |
character ou NULL — Variable de pondération (ignorée si data est un svydesign). Défaut : NULL. |
ic |
logical — Calculer les IC à 95%. Défaut : TRUE. |
pourcentage |
character — Type : |
format_sortie |
character — |
Value
Tibble ou flextable du tableau croisé.
Examples
## Not run:
donnees <- data.frame(
region = sample(c("Nord", "Sud", "Est"), 50, replace = TRUE),
sexe = sample(c("H", "F"), 50, replace = TRUE)
)
tab_croisee(donnees, "region", "sexe")
## End(Not run)
Creer une table de concordance entre nomenclatures geographiques
Description
Cree une table de correspondance entre les differentes nomenclatures geographiques utilisees en Afrique : nomenclature locale des INS, codes ISO 3166-2, codes GADM, codes EHCVM, et noms officiels. Essentielle pour harmoniser les donnees entre plusieurs sources.
Usage
table_concordance(
donnees,
var_nom_local = "nom_zone",
var_code_ins = NULL,
var_code_iso = NULL,
var_code_gadm = NULL,
var_niveau = NULL,
var_pays = NULL
)
Arguments
donnees |
data.frame – Donnees de reference avec les noms/codes des zones administratives |
var_nom_local |
character – Variable nom local (utilise par l'INS). Defaut : "nom_zone" |
var_code_ins |
character ou NULL – Variable code INS. Defaut : NULL |
var_code_iso |
character ou NULL – Variable code ISO 3166-2. Defaut : NULL |
var_code_gadm |
character ou NULL – Variable code GADM. Defaut : NULL |
var_niveau |
character ou NULL – Variable niveau administratif (1 = region, 2 = departement, etc.). Defaut : NULL |
var_pays |
character ou NULL – Variable pays (code ISO 3). Defaut : NULL |
Value
Un objet de classe saf_concordance
Examples
zones_rca <- data.frame(
nom_zone = c("Bangui","Ombella-M'Poko","Bamingui-Bangoran",
"Mbomou","Haute-Kotto"),
code_ins = c("01","02","03","04","05"),
code_iso = c("CF-BGF","CF-MP","CF-BB","CF-MB","CF-HK"),
code_gadm = c("GADMa001","GADMa002","GADMa003","GADMa004","GADMa005"),
niveau = rep(1L, 5),
pays = rep("CAF", 5),
stringsAsFactors = FALSE
)
table_concordance(zones_rca, var_nom_local="nom_zone",
var_code_ins="code_ins", var_code_iso="code_iso",
var_code_gadm="code_gadm", var_niveau="niveau",
var_pays="pays")
Tableau de bord du bien-etre subjectif
Description
Synthetise tous les indicateurs de bien-etre subjectif en un tableau institutionnel unique. Format adapte aux rapports nationaux sur le bien-etre et la qualite de vie.
Usage
tableau_bien_etre_subjectif(
indicateurs,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
source = NULL
)
Arguments
indicateurs |
list – Liste nommee d'objets saf_subjectif ou tibbles |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un tibble institutionnel
Examples
set.seed(42)
n <- 400
individus <- data.frame(
satisf = pmin(10,pmax(0,round(rnorm(n,5.8,2.1)))),
bonheur = rbinom(n,1,0.62),
securise = rbinom(n,1,0.52),
poids = runif(n,0.8,1.3)
)
r1 <- suppressMessages(
satisfaction_vie(individus,"satisf",poids="poids"))
r2 <- suppressMessages(
sentiment_securite(individus,"securise",poids="poids"))
tableau_bien_etre_subjectif(list(satisfaction=r1, securite=r2),
pays="RCA", annee=2026L)
Tableau de bord des comptes nationaux
Description
Produit un tableau de bord institutionnel du PIB combinant croissance, deflateur, comparaison de sources et revisions. Format comparable aux publications des INS africains.
Usage
tableau_bord_pib(
donnees,
var_pib_courant,
var_pib_constant = NULL,
var_annee = "annee",
vars_secteurs = NULL,
pays = "Pays",
unite = "Mds FCFA"
)
Arguments
donnees |
data.frame – Donnees de comptes nationaux |
var_pib_courant |
character – PIB en prix courants |
var_pib_constant |
character ou NULL – PIB en prix constants. Defaut : NULL |
var_annee |
character – Variable annee. Defaut : "annee" |
vars_secteurs |
named character ou NULL – Secteurs economiques. Defaut : NULL |
pays |
character – Nom du pays. Defaut : "Pays" |
unite |
character – Unite. Defaut : "Mds FCFA" |
Value
Un tibble du tableau de bord PIB
Examples
comptes <- data.frame(
annee = 2018:2022,
pib_courant = c(2100,2180,2250,2195,2380),
pib_cst = c(2000,2060,2110,2060,2210)
)
tableau_bord_pib(comptes, "pib_courant",
var_pib_constant="pib_cst",
pays="Cameroun", unite="Mds FCFA")
Tableau croise pondere - format institutionnel INS
Description
Produit un tableau de contingence pondere avec marges, pourcentages et test du chi-deux.
Usage
tableau_croise_ins(
data,
ligne,
colonne,
poids = NULL,
type_pct = c("colonne", "ligne", "total"),
marges = TRUE,
chi2 = TRUE,
format = c("tibble", "flextable", "excel"),
chemin = NULL,
titre = NULL
)
Arguments
data |
data.frame, tibble ou |
ligne |
character – Variable en ligne |
colonne |
character – Variable en colonne |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
type_pct |
character – |
marges |
logical – Afficher les totaux. Defaut : TRUE |
chi2 |
logical – Calculer le test du chi-deux. Defaut : TRUE |
format |
character – |
chemin |
character ou NULL – Chemin Excel. Defaut : NULL |
titre |
character ou NULL – Titre. Defaut : NULL |
Value
Tibble, flextable ou chemin Excel
Examples
set.seed(42)
donnees <- data.frame(
region = sample(c("Nord", "Sud", "Est", "Ouest"), 300, TRUE),
milieu = sample(c("urbain", "rural"), 300, TRUE, prob = c(0.4, 0.6)),
poids = runif(300, 0.7, 1.4)
)
tableau_croise_ins(donnees, "region", "milieu", poids = "poids")
Tableau de statistiques descriptives institutionnel
Description
Produit un tableau de statistiques descriptives pondere, formate selon les conventions des INS africains. Exportable en Word (flextable) ou Excel (openxlsx2).
Usage
tableau_descriptif(
data,
vars,
poids = NULL,
par = NULL,
stats = c("n", "moyenne", "mediane", "ecart_type", "min", "max", "ic"),
format = c("tibble", "flextable", "excel"),
chemin = NULL,
titre = NULL,
source = NULL
)
Arguments
data |
data.frame, tibble ou objet |
vars |
character – Variables numeriques a analyser |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
par |
character ou NULL – Variable de ventilation (groupe). Defaut : NULL |
stats |
character – Statistiques parmi :
|
format |
character – |
chemin |
character ou NULL – Chemin Excel. Defaut : NULL |
titre |
character ou NULL – Titre du tableau. Defaut : NULL |
source |
character ou NULL – Note source. Defaut : NULL |
Value
Tibble, flextable ou chemin fichier Excel
Examples
set.seed(42)
donnees <- data.frame(
age = sample(18:65, 200, replace = TRUE),
revenu = rexp(200, rate = 1/250000),
poids = runif(200, 0.8, 1.3),
milieu = sample(c("urbain", "rural"), 200, TRUE)
)
tableau_descriptif(donnees, vars = c("age", "revenu"), poids = "poids")
Tableau institutionnel des indices FGT
Description
Genere un tableau des indices FGT formate selon les conventions des INS africains et de la Banque mondiale (EHCVM).
Usage
tableau_fgt(
fgt_obj,
format = c("tibble", "flextable", "excel"),
chemin = NULL,
titre = NULL,
inclure_sous_groupes = TRUE
)
Arguments
fgt_obj |
objet |
format |
character – Format de sortie : |
chemin |
character ou NULL – Chemin du fichier Excel.
Si NULL, utilise |
titre |
character – Titre du tableau |
inclure_sous_groupes |
logical – Inclure les tableaux par sous-groupe. Defaut : TRUE |
Value
Tibble, flextable ou chemin du fichier Excel
Examples
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, rate = 1/150000), rexp(30, rate = 1/400000)),
poids = runif(100, 0.8, 1.2)
)
fgt <- calcul_fgt(menages, "depense_pc", 220000, poids = "poids")
tableau_fgt(fgt)
Tableau de bord des indicateurs de genre et d'inclusion
Description
Synthetise tous les indicateurs genre en un tableau institutionnel comparable aux rapports ODD 5 et DHS.
Usage
tableau_genre(
indicateurs,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
source = NULL
)
Arguments
indicateurs |
list – Liste nommee d'objets saf_genre ou tibbles |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un tibble institutionnel
Examples
set.seed(42)
n <- 400
femmes <- data.frame(
marie_18 = rbinom(n, 1, 0.42),
vbg_phys = rbinom(n, 1, 0.28),
poids = runif(n, 0.8, 1.3)
)
rm <- suppressMessages(
mariage_precoce(femmes, "marie_18", poids="poids"))
rvbg <- violence_basee_genre(femmes,
var_violence_physique="vbg_phys", poids="poids")
tableau_genre(list(mariage=rm, vbg=rvbg), pays="RCA", annee=2026L)
Tableau de bord des inegalites
Description
Calcule toutes les mesures d'inegalite en une seule fonction et les presente dans un tableau institutionnel. Inclut Gini, Palma, Theil, Atkinson et les parts par quintile.
Usage
tableau_inegalites(
donnees,
var_revenu,
poids = NULL,
var_groupe = NULL,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y"))
)
Arguments
donnees |
data.frame – Donnees menages |
var_revenu |
character – Variable de revenu |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_groupe |
character ou NULL – Variable de groupe pour decomposition. Defaut : NULL |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
Value
Un tibble avec toutes les mesures d'inegalite
Examples
set.seed(42)
menages <- data.frame(
depense = c(rexp(200, 1/150000), rexp(100, 1/500000)),
milieu = sample(c("urbain","rural"), 300, TRUE),
poids = runif(300, 0.8, 1.3)
)
tableau_inegalites(menages, "depense", poids="poids",
var_groupe="milieu", pays="Centrafrique",
annee=2026L)
Tableau institutionnel IPM
Description
Genere un tableau flextable institutionnel (style INS/PARIS21) des resultats IPM, exportable en Word ou Excel.
Usage
tableau_ipm(
res_ipm,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
chemin_word = NULL
)
Arguments
res_ipm |
saf_ipm – Resultat de calcul_ipm() ou calcul_ipm_national() |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee de reference |
chemin_word |
character ou NULL – Chemin Word (.docx). Si NULL, retourne l'objet flextable. Defaut : NULL |
Value
Un objet flextable (invisible si chemin_word fourni)
Examples
set.seed(42)
n <- 200
menages <- data.frame(
nutrition = rbinom(n,1,0.35), electricite = rbinom(n,1,0.60),
eau = rbinom(n,1,0.40), poids = runif(n,0.8,1.3)
)
res <- calcul_ipm(menages, var_nutrition="nutrition",
var_electricite="electricite", var_eau="eau", poids="poids")
tableau_ipm(res, pays="Centrafrique", annee=2026L)
Tableau de bord du marche du travail
Description
Synthetise tous les indicateurs du marche du travail en un tableau institutionnel unique, comparable aux publications OIT/ILOSTAT et aux rapports nationaux sur l'emploi.
Usage
tableau_marche_travail(
indicateurs,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
source = NULL
)
Arguments
indicateurs |
list – Liste nommee d'objets saf_emploi ou tibbles (protection_sociale, taux_sous_utilisation) |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
source |
character ou NULL – Source. Defaut : NULL |
Value
Un tibble institutionnel
Examples
set.seed(42)
n <- 500
ind <- data.frame(
actif = rbinom(n, 1, 0.65),
employe = rbinom(n, 1, 0.55),
informel = rbinom(n, 1, 0.72),
poids = runif(n, 0.8, 1.3),
stringsAsFactors = FALSE
)
r1 <- suppressMessages(taux_activite(ind, "actif", poids="poids"))
r2 <- suppressMessages(taux_emploi(ind, "employe", poids="poids"))
r3 <- suppressMessages(emploi_informel(ind, "informel", poids="poids"))
tableau_marche_travail(list(activite=r1, emploi=r2, informel=r3),
pays="Centrafrique", annee=2026L)
Tableau de suivi des indicateurs ODD
Description
Calcule et presente plusieurs indicateurs ODD dans un tableau de suivi formate selon les standards de reporting PARIS21/Nations Unies.
Usage
tableau_odd(
resultats,
pays = NULL,
annee = NULL,
cibles = NULL,
format = c("tibble", "flextable", "excel"),
chemin = NULL
)
Arguments
resultats |
list – Liste nommee d'objets |
pays |
character ou NULL – Nom du pays. Defaut : NULL |
annee |
integer ou NULL – Annee de reference. Defaut : NULL |
cibles |
list ou NULL – Liste nommee des cibles nationales par
code ODD. Ex : |
format |
character – |
chemin |
character ou NULL – Chemin Excel. Defaut : NULL |
Value
Tibble, flextable ou chemin Excel
Examples
set.seed(42)
menages <- data.frame(
depense_pc = c(rexp(70, 1/150000), rexp(30, 1/500000)),
poids = runif(100, 0.8, 1.2),
electricite = sample(c(0L, 1L), 100, TRUE, c(0.45, 0.55)),
eau_potable = sample(c(0L, 1L), 100, TRUE, c(0.35, 0.65))
)
r1 <- odd_indicateur(menages, "1.2.1",
var_depense = "depense_pc", seuil = 200000)
r2 <- odd_indicateur(menages, "7.1.1",
var_indicateur = "electricite")
tableau_odd(list(r1, r2), pays = "Centrafrique", annee = 2026L)
Tableau de bord des indicateurs de sante
Description
Synthetise tous les indicateurs de sante disponibles en un seul tableau institutionnel. Produit un rapport comparable aux tableaux de bord DHS/MICS.
Usage
tableau_sante(
indicateurs,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y")),
source = NULL
)
Arguments
indicateurs |
list – Liste nommee d'objets saf_anthropo ou saf_mortalite, ou tibbles de vaccination/accouchements |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee. Defaut : annee courante |
source |
character ou NULL – Source des donnees. Defaut : NULL |
Value
Un tibble institutionnel
Examples
set.seed(42)
n <- 400
enfants <- data.frame(
haz = rnorm(n,-1.2,1.3), waz = rnorm(n,-1.0,1.2),
poids = runif(n,0.8,1.3)
)
r1 <- suppressMessages(
retard_croissance(enfants, var_taille_age_z="haz", poids="poids"))
r2 <- suppressMessages(
insuffisance_ponderale(enfants, var_poids_age_z="waz", poids="poids"))
tableau_sante(list(stunting=r1, underweight=r2),
pays="Centrafrique", annee=2026L)
Calculer le taux d'activite
Description
Calcule le taux d'activite selon la definition du Bureau International du Travail (BIT) : proportion de la population en age de travailler qui est active (employes + chomeurs). ODD 8.
Usage
taux_activite(
donnees,
var_actif,
var_age = NULL,
age_min = 15L,
age_max = 64L,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles ou menages |
var_actif |
character – Variable 0/1 : actif (employe ou chomeur) |
var_age |
character ou NULL – Variable age pour filtrer la population en age de travailler. Defaut : NULL |
age_min |
integer – Age minimum. Defaut : 15L |
age_max |
integer – Age maximum. Defaut : 64L |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation (sexe, milieu, region). Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 500
individus <- data.frame(
actif = rbinom(n, 1, 0.65),
age = sample(15:64, n, TRUE),
sexe = sample(c("H","F"), n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
taux_activite(individus, "actif", var_age="age", poids="poids",
sous_groupes=c("sexe","milieu"))
Calculer les taux de croissance du PIB et contributions
Description
Calcule les taux de croissance reels et nominaux du PIB et la contribution de chaque secteur a la croissance. Conforme aux methodes SCN 2008.
Usage
taux_croissance(
donnees,
var_pib,
vars_secteurs = NULL,
var_annee = "annee",
var_trimestre = NULL
)
Arguments
donnees |
data.frame – Donnees de comptes nationaux avec secteurs |
var_pib |
character – Variable PIB total (prix constants) |
vars_secteurs |
named character ou NULL – Vecteur nomme des variables sectorielles. Ex : c(Agriculture="agri", Industrie="indus") |
var_annee |
character – Variable annee. Defaut : "annee" |
var_trimestre |
character ou NULL – Variable trimestre (si donnees trimestrielles). Defaut : NULL |
Value
Un tibble avec taux de croissance et contributions sectorielles
Examples
comptes <- data.frame(
annee = 2018:2022,
pib = c(2100, 2180, 2250, 2195, 2380),
agri = c(420, 440, 460, 445, 490),
indus = c(630, 660, 680, 660, 715),
serv = c(1050, 1080, 1110, 1090, 1175)
)
taux_croissance(comptes, "pib",
vars_secteurs = c(Agriculture="agri",
Industrie="indus",
Services="serv"),
var_annee = "annee")
Calculer le taux d'emploi
Description
Proportion de la population en age de travailler ayant un emploi (salarie ou independant). Indicateur cle ODD 8.5.
Usage
taux_emploi(
donnees,
var_employe,
var_age = NULL,
age_min = 15L,
age_max = 64L,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_employe |
character – Variable 0/1 : a un emploi |
var_age |
character ou NULL – Variable age. Defaut : NULL |
age_min |
integer – Age minimum. Defaut : 15L |
age_max |
integer – Age maximum. Defaut : 64L |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
individus <- data.frame(
employe = rbinom(500, 1, 0.55),
age = sample(15:64, 500, TRUE),
sexe = sample(c("H","F"), 500, TRUE),
poids = runif(500, 0.8, 1.3)
)
taux_emploi(individus, "employe", var_age="age",
poids="poids", sous_groupes="sexe")
Calculer le taux de sous-utilisation composite de la main-d'oeuvre
Description
Calcule le taux composite OIT LU3 ou LU4 qui agrege le chomage, le sous-emploi en temps de travail et les actifs potentiels non recherchant activement. Depasse le simple taux de chomage pour mesurer la sous-utilisation reelle.
Usage
taux_sous_utilisation(
donnees,
var_chomeur,
var_sous_emploi_t = NULL,
var_actif_potentiel = NULL,
poids = NULL
)
Arguments
donnees |
data.frame – Donnees individuelles |
var_chomeur |
character – Variable 0/1 : chomeur (BIT) |
var_sous_emploi_t |
character ou NULL – Variable 0/1 : sous-emploi temps. Defaut : NULL |
var_actif_potentiel |
character ou NULL – Variable 0/1 : actif potentiel (souhaite travailler mais ne cherche pas). Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un tibble avec les composantes et le taux composite
Examples
set.seed(42)
n <- 500
individus <- data.frame(
chomeur = rbinom(n, 1, 0.14),
sous_emploi_t = rbinom(n, 1, 0.08),
actif_potentiel = rbinom(n, 1, 0.05),
poids = runif(n, 0.8, 1.3)
)
taux_sous_utilisation(individus, "chomeur",
var_sous_emploi_t = "sous_emploi_t",
var_actif_potentiel = "actif_potentiel",
poids = "poids")
Thème ggplot2 officiel INS
Description
Applique un thème graphique professionnel adapté aux publications officielles des Instituts Nationaux de Statistique africains. Inspiré des chartes graphiques AFRISTAT/PARIS21.
Usage
theme_ins(
base_size = 11,
base_family = "sans",
couleur_fond = "white",
grille = TRUE,
grille_mineure = FALSE
)
Arguments
base_size |
numeric — Taille de base de la police. Défaut : 11. |
base_family |
character — Famille de police. Défaut : "sans". |
couleur_fond |
character — Couleur de fond du panneau. Défaut : "white". |
grille |
logical — Afficher les lignes de grille. Défaut : TRUE. |
grille_mineure |
logical — Afficher la grille mineure. Défaut : FALSE. |
Value
Un objet theme ggplot2.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
ggplot2::ggplot(mtcars, ggplot2::aes(wt, mpg)) +
ggplot2::geom_point() + theme_ins()
}
Tracer le flux de traitement
Description
Crée et maintient un journal horodaté des transformations appliquées à un dataset. Permet l'auditabilité complète du pipeline de traitement des données.
Usage
tracer_flux_traitement(data, action, journal = NULL, details = NULL)
Arguments
data |
data.frame ou tibble — Données traitées |
action |
character — Description de l'action effectuée |
journal |
list ou NULL — Journal existant à compléter. Si NULL, crée un nouveau journal. Défaut : NULL. |
details |
list ou NULL — Détails supplémentaires à enregistrer (ex: paramètres utilisés). Défaut : NULL. |
Value
Une liste mise à jour avec $donnees et $journal.
Examples
## Not run:
donnees <- data.frame(id=1:3, val=c(10,20,30))
e1 <- tracer_flux_traitement(donnees, action="Import")
e2 <- tracer_flux_traitement(e1$donnees, action="Nettoyage", journal=e1$journal)
print(e2$journal)
## End(Not run)
Calculer la prevalence du travail des enfants
Description
Prevalence du travail des enfants (5-17 ans) selon la definition OIT/MICS. ODD 8.7.1.
Usage
travail_enfants(
donnees,
var_travail_enfant,
var_age = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees enfants 5-17 ans |
var_travail_enfant |
character – Variable 0/1 : enfant au travail |
var_age |
character ou NULL – Variable age pour filtrer 5-17 ans. Defaut : NULL |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un objet de classe saf_emploi
Examples
set.seed(42)
n <- 600
enfants <- data.frame(
travail = rbinom(n, 1, 0.22),
age = sample(5:17, n, TRUE),
sexe = sample(c("H","F"), n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
travail_enfants(enfants, "travail", var_age="age",
poids="poids", sous_groupes=c("sexe","milieu"))
Calculer la couverture vaccinale
Description
Calcule la couverture vaccinale par antigene selon la methodologie DHS/MICS. Indicateurs ODD 3.b.1.
Usage
vaccination(
donnees,
vars_vaccins,
poids = NULL,
var_carte_sante = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees enfants |
vars_vaccins |
named character – Vecteur nomme : nom du vaccin -> nom de la variable (0/1). Ex: c(DTC3="dtc3", Rougeole="rougeole") |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_carte_sante |
character ou NULL – Variable indiquant si l'enfant a une carte de sante (pour ajustement). Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec couverture par antigene
Examples
set.seed(42)
n <- 500
enfants <- data.frame(
dtc3 = rbinom(n, 1, 0.72),
rougeole = rbinom(n, 1, 0.68),
polio3 = rbinom(n, 1, 0.75),
bcg = rbinom(n, 1, 0.90),
poids = runif(n, 0.8, 1.3),
milieu = sample(c("urbain","rural"), n, TRUE)
)
vaccination(enfants,
vars_vaccins = c(DTC3="dtc3", Rougeole="rougeole",
Polio3="polio3", BCG="bcg"),
poids = "poids")
Valider la coherence de la couverture geographique
Description
Verifie que les donnees couvrent l'ensemble des zones du referentiel officiel. Identifie les zones manquantes, les doublons et les zones surnumeraires (non dans le referentiel).
Usage
valider_coherence_geo(donnees, var_zone, referentiel, var_ref = "nom_local")
Arguments
donnees |
data.frame – Donnees a verifier |
var_zone |
character – Variable zone dans les donnees |
referentiel |
data.frame ou saf_concordance – Referentiel officiel |
var_ref |
character – Variable zone dans le referentiel. Defaut : "nom_local" |
Value
Un tibble de rapport de coherence
Examples
donnees <- data.frame(
region = c("Bangui","Ombella-M'Poko","Bangui"),
valeur = c(100, 200, 50),
stringsAsFactors = FALSE
)
ref <- data.frame(
nom_local = c("Bangui","Ombella-M'Poko","Kemo","Mbomou"),
stringsAsFactors = FALSE
)
valider_coherence_geo(donnees, "region", ref, "nom_local")
Valider la cohérence données / dictionnaire
Description
Vérifie que les variables d'un dataset correspondent au dictionnaire fourni : présence des variables, types, plages de valeurs, modalités attendues. Produit un rapport de validation structuré avec un score de qualité global.
Usage
valider_dictionnaire(data, dictionnaire, stopper_si_critique = FALSE)
Arguments
data |
data.frame ou tibble — Données à valider |
dictionnaire |
data.frame — Dictionnaire avec colonnes obligatoires :
|
stopper_si_critique |
logical — Arrêter l'exécution si des erreurs critiques sont détectées. Défaut : FALSE. |
Value
Une liste avec :
valide |
logical — TRUE si aucune erreur critique |
rapport |
data.frame — Détail des anomalies |
score_qualite |
numeric — Score de 0 à 100 |
Examples
## Not run:
dico <- data.frame(
nom_variable = c("age", "sexe", "region"),
type = c("numeric", "character", "character"),
obligatoire = c(TRUE, TRUE, FALSE)
)
resultat <- valider_dictionnaire(donnees, dico)
if (!resultat$valide) print(resultat$rapport)
## End(Not run)
Valider les poids de sondage
Description
Verifie la coherence des poids de sondage : somme par strate, detection des poids aberrants (outliers), DEFF eleves, comparaison avec la population cible. Etape indispensable avant toute analyse.
Usage
valider_poids(saf_design, population_cible = NULL, seuil_outlier = 3)
Arguments
saf_design |
saf_design – Objet cree par |
population_cible |
numeric ou NULL – Population totale cible (pour verifier que sum(poids) est coherent). Defaut : NULL |
seuil_outlier |
numeric – Seuil de detection des outliers en ecarts-types (score Z). Defaut : 3.0 |
Value
Un tibble avec les statistiques de validation par strate
Examples
set.seed(42)
n <- 300
donnees <- data.frame(
poids_sond = runif(n, 1800, 3500),
strate = sample(c("Urbain","Rural"), n, TRUE),
grappe = sample(1:20, n, TRUE)
)
design <- suppressMessages(
creer_design(donnees,"poids_sond",var_strate="strate",var_grappe="grappe"))
valider_poids(design)
Valider la qualité globale d'un jeu de données
Description
Calcule un score de qualité composite (0-100) en évaluant la complétude, la cohérence, l'unicité et la plausibilité des données.
Usage
valider_qualite_donnees(data, seuil_na = 0.1, vars_cles = NULL)
Arguments
data |
data.frame ou tibble — Données à évaluer |
seuil_na |
numeric — Seuil acceptable de valeurs manquantes. Défaut : 0.1. |
vars_cles |
character ou NULL — Variables clés pour le test d'unicité. Défaut : NULL. |
Value
Une liste avec score_global et le détail par dimension.
Examples
## Not run:
donnees <- data.frame(
id_menage = 1:50,
age = c(sample(20:70, 45, replace = TRUE), rep(NA, 5)),
revenu = c(rnorm(48, 200000, 50000), NA, NA)
)
valider_qualite_donnees(donnees, vars_cles="id_menage")
## End(Not run)
Valider la qualite statistique d'une enquete (INS Validation Suite)
Description
Produit un rapport de validation complet couvrant 10 criteres de qualite statistique institutionnelle : donnees, poids, plan de sondage, valeurs manquantes, geographie, precision, confidentialite, metadonnees, reproductibilite et indicateurs cles. Conforme aux standards IHSN / PARIS21 / ONU.
Usage
valider_statistique_ins(
donnees,
var_poids = NULL,
var_region = NULL,
var_milieu = NULL,
var_depense = NULL,
seuil_pauvrete = NULL,
dictionnaire = NULL,
seuil_na_alerte = 0.05,
seuil_cv_alerte = 33,
seuil_cellule = 5L,
pays = "Pays",
annee = as.integer(format(Sys.Date(), "%Y"))
)
Arguments
donnees |
data.frame – Donnees de l'enquete |
var_poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
var_region |
character ou NULL – Variable region/prefecture. Defaut : NULL |
var_milieu |
character ou NULL – Variable milieu. Defaut : NULL |
var_depense |
character ou NULL – Variable de consommation/depense pour le calcul FGT. Defaut : NULL |
seuil_pauvrete |
numeric ou NULL – Seuil de pauvrete. Defaut : NULL |
dictionnaire |
data.frame ou NULL – Dictionnaire des variables avec colonnes : variable, label, type_attendu. Defaut : NULL |
seuil_na_alerte |
numeric – Seuil de % valeurs manquantes declenchant une alerte. Defaut : 0.05 (5%) |
seuil_cv_alerte |
numeric – Seuil de CV declenchant une alerte. Defaut : 33.0 |
seuil_cellule |
integer – Seuil de confidentialite. Defaut : 5L |
pays |
character – Nom du pays. Defaut : "Pays" |
annee |
integer – Annee de l'enquete. Defaut : annee courante |
Value
Un objet de classe saf_validation_ins avec le rapport
complet et le statut global
Examples
set.seed(42)
n <- 500
donnees <- data.frame(
region = sample(c("Nord","Sud","Est","Ouest"), n, TRUE),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 800, 3500),
depense = pmax(10000, rnorm(n, 165000, 90000)),
sexe = sample(c("H","F"), n, TRUE),
age = sample(15:80, n, TRUE),
stringsAsFactors = FALSE
)
valider_statistique_ins(donnees,
var_poids = "poids",
var_region = "region",
var_milieu = "milieu",
pays = "Centrafrique",
annee = 2024L)
Calculer la prevalence des violences basees sur le genre
Description
Prevalence des violences physiques, sexuelles et/ou psychologiques exercees par un partenaire intime ou un non-partenaire. Methodologie DHS/OMS. ODD 5.2.1.
Usage
violence_basee_genre(
donnees,
var_violence_physique = NULL,
var_violence_sexuelle = NULL,
var_violence_psycho = NULL,
poids = NULL,
sous_groupes = NULL
)
Arguments
donnees |
data.frame – Donnees femmes (15-49 ans) |
var_violence_physique |
character ou NULL – VBG physique (0/1) |
var_violence_sexuelle |
character ou NULL – VBG sexuelle (0/1) |
var_violence_psycho |
character ou NULL – VBG psychologique (0/1) |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
sous_groupes |
character ou NULL – Variables de desagregation. Defaut : NULL |
Value
Un tibble avec prevalence par type de violence
Examples
set.seed(42)
n <- 500
femmes <- data.frame(
vbg_phys = rbinom(n, 1, 0.28),
vbg_sex = rbinom(n, 1, 0.18),
vbg_psycho = rbinom(n, 1, 0.35),
milieu = sample(c("urbain","rural"), n, TRUE),
poids = runif(n, 0.8, 1.3)
)
violence_basee_genre(femmes,
var_violence_physique = "vbg_phys",
var_violence_sexuelle = "vbg_sex",
var_violence_psycho = "vbg_psycho",
poids = "poids", sous_groupes = "milieu")
Calculer l'indice de Whipple
Description
Mesure l'attraction des ages se terminant par 0 et 5 dans les declarations d'age. Un indice de Whipple < 105 indique des donnees de tres bonne qualite ; > 175 indique une qualite tres mauvaise. Methodologie Nations Unies / IUSSP.
Usage
whipple(donnees, var_age, age_min = 23L, age_max = 62L, poids = NULL)
Arguments
donnees |
data.frame – Donnees individuelles |
var_age |
character – Variable age en annees revolues |
age_min |
integer – Age minimum pour le calcul. Defaut : 23L |
age_max |
integer – Age maximum pour le calcul. Defaut : 62L |
poids |
character ou NULL – Variable de ponderation. Defaut : NULL |
Value
Un objet de classe saf_qualite_demo
Examples
set.seed(42)
n <- 1000
# Simulation d'attraction sur les multiples de 5
ages_base <- sample(23:62, n, TRUE)
attire <- ages_base - (ages_base %% 5) # attire vers 0 et 5
ages <- ifelse(runif(n) < 0.25, attire, ages_base)
individus <- data.frame(age = ages, poids = runif(n, 0.8, 1.3))
whipple(individus, "age")