| Title: | Statistical Tools for African National Statistics Institutes |
|---|---|
| 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. |
| Authors: | Dikers Amoko [aut, cre] |
| Maintainer: | Dikers Amoko <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.2.0 |
| Built: | 2026-05-30 22:58:28 UTC |
| Source: | https://github.com/damoko2004/statafrikr |
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é.
analyse_regression( formule, data, type = c("lineaire", "logistique", "poisson"), niveau_confiance = 0.95, format_sortie = c("tibble", "liste", "flextable") )analyse_regression( formule, data, type = c("lineaire", "logistique", "poisson"), niveau_confiance = 0.95, format_sortie = c("tibble", "liste", "flextable") )
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 — |
Selon format_sortie : liste complète, tibble ou flextable des coefficients avec IC et p-valeurs.
## 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)## 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)
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.
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))) )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))) )
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 : |
Un objet sf avec les indicateurs calculés par zone.
## 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)## 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)
Applique les techniques d'anonymisation conformes aux standards IHSN/PARIS21 : suppression, masquage, generalisation, perturbation et pseudonymisation des variables sensibles.
anonymiser_donnees( data, vars_supprimer = NULL, vars_masquer = NULL, vars_perturber = NULL, vars_generaliser = NULL, niveau_bruit = 0.05, graine = 42L, rapport = TRUE )anonymiser_donnees( data, vars_supprimer = NULL, vars_masquer = NULL, vars_perturber = NULL, vars_generaliser = NULL, niveau_bruit = 0.05, graine = 42L, rapport = TRUE )
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. |
rapport |
logical — Produire un rapport d'anonymisation. Défaut : TRUE. |
Si rapport = FALSE : tibble anonymisé.
Si rapport = TRUE : liste avec $donnees et $rapport.
## 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)## 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)
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.
appliquer_ponderations( data, var_poids, var_strate = NULL, var_grappe = NULL, var_fpc = NULL, normaliser = FALSE )appliquer_ponderations( data, var_poids, var_strate = NULL, var_grappe = NULL, var_fpc = NULL, normaliser = FALSE )
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. |
Un objet svydesign du package survey.
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") }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") }
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.
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 )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 )
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 intervalles de confiance a 95%. Defaut : TRUE |
na.rm |
logical – Exclure les valeurs manquantes. Defaut : TRUE |
Un objet de classe saf_fgt
Foster, J., Greer, J., & Thorbecke, E. (1984). A class of decomposable poverty measures. Econometrica, 52(3), 761-766. doi:10.2307/1913475
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)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)
Calcule l'IDH et ses trois dimensions (santé, éducation, revenu) selon la méthodologie officielle PNUD post-2010. Applicable au niveau national ou infranational.
calcul_idh( esperance_vie, annees_scol_moy, annees_scol_att, rnb_habitant, niveau = c("national", "infranational"), annee = NULL )calcul_idh( esperance_vie, annees_scol_moy, annees_scol_att, rnb_habitant, niveau = c("national", "infranational"), annee = NULL )
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. |
Une liste avec : idh, indice_sante,
indice_education, indice_revenu, categorie.
PNUD (2023). Technical Notes: Calculating the Human Development Indices.
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)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)
Calcule l'IPM selon la méthodologie OPHI/PNUD (Alkire-Foster). Supporte les dimensions standard (santé, éducation, niveau de vie) et des dimensions personnalisées.
calcul_ipm( data, indicateurs, poids_dimensions = NULL, seuil_pauvrete = 1/3, var_poids = NULL )calcul_ipm( data, indicateurs, poids_dimensions = NULL, seuil_pauvrete = 1/3, var_poids = NULL )
data |
data.frame ou tibble — Données individuelles ou ménages |
indicateurs |
list — Liste nommée des indicateurs par dimension.
Chaque élément est un vecteur de noms de variables (0/1 : 1 = privation).
Ex: |
poids_dimensions |
numeric ou NULL — Poids de chaque dimension (doit sommer à 1). Si NULL, poids égaux. Défaut : NULL. |
seuil_pauvrete |
numeric — Seuil de privation pour être considéré multidimensionnellement pauvre (entre 0 et 1). Défaut : 1/3. |
var_poids |
character ou NULL — Variable de pondération. Défaut : NULL. |
Une liste avec : ipm, H (incidence),
A (intensité), contributions par dimension,
donnees_enrichies.
Alkire, S. & Foster, J. (2011). Counting and multidimensional poverty measurement. Journal of Public Economics, 95(7-8), 476-487.
## Not run: donnees <- data.frame( malnutrition = sample(0:1, 50, replace = TRUE), mortalite_enfant = sample(0:1, 50, replace = TRUE), annees_scolarisation = sample(0:1, 50, replace = TRUE), enfants_scolarises = sample(0:1, 50, replace = TRUE), electricite = sample(0:1, 50, replace = TRUE), eau_potable = sample(0:1, 50, replace = TRUE) ) indicateurs <- list( sante = c("malnutrition", "mortalite_enfant"), education = c("annees_scolarisation", "enfants_scolarises"), niveau_vie = c("electricite", "eau_potable") ) calcul_ipm(donnees, indicateurs) ## End(Not run)## Not run: donnees <- data.frame( malnutrition = sample(0:1, 50, replace = TRUE), mortalite_enfant = sample(0:1, 50, replace = TRUE), annees_scolarisation = sample(0:1, 50, replace = TRUE), enfants_scolarises = sample(0:1, 50, replace = TRUE), electricite = sample(0:1, 50, replace = TRUE), eau_potable = sample(0:1, 50, replace = TRUE) ) indicateurs <- list( sante = c("malnutrition", "mortalite_enfant"), education = c("annees_scolarisation", "enfants_scolarises"), niveau_vie = c("electricite", "eau_potable") ) calcul_ipm(donnees, indicateurs) ## End(Not run)
Produit une carte choroplethe professionnelle. Utilise uniquement ggplot2 (deja installe avec statAfrikR) et sf. Gestion automatique des labels pour les petits pays.
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 )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 )
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 |
Un objet ggplot2
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")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")
Exporte un objet ggplot2 en PNG, PDF ou SVG.
carte_exporter(carte, chemin, largeur = 20, hauteur = 15, resolution = 300L)carte_exporter(carte, chemin, largeur = 20, hauteur = 15, resolution = 300L)
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 |
Chemin du fichier (invisible)
## Not run: g <- carte_choroplethe(sf_enrichi, "taux_pauvrete") carte_exporter(g, file.path(tempdir(), "carte.png")) ## End(Not run)## Not run: g <- carte_choroplethe(sf_enrichi, "taux_pauvrete") carte_exporter(g, file.path(tempdir(), "carte.png")) ## End(Not run)
Importe un fichier geographique externe (shapefile, GeoJSON, GeoPackage) fourni par l'utilisateur ou l'INS.
carte_import(chemin, crs = 4326L, couche = NULL, simplifier = FALSE)carte_import(chemin, crs = 4326L, couche = NULL, simplifier = FALSE)
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 |
Un objet sf
## Not run: regions <- carte_import("data/regions_enquete.shp") ## End(Not run)## Not run: regions <- carte_import("data/regions_enquete.shp") ## End(Not run)
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.
carte_joindre( sf_obj, data, cle_geo, cle_data = NULL, type = c("gauche", "interne"), normaliser = TRUE )carte_joindre( sf_obj, data, cle_geo, cle_data = NULL, type = c("gauche", "interne"), normaliser = TRUE )
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 |
Un objet sf enrichi
# 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")# 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")
Specialisation de carte_choroplethe() pour les
indices de pauvrete. Symbologie standardisee AFRISTAT/Banque mondiale
avec seuil d'alerte.
carte_pauvrete( sf_obj, var_fgt0, seuil_alerte = 0.5, col_label = NULL, titre = NULL, source = NULL )carte_pauvrete( sf_obj, var_fgt0, seuil_alerte = 0.5, col_label = NULL, titre = NULL, source = NULL )
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 |
Un objet ggplot2
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")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")
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.
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" )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" )
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". |
Un objet ggplot.
## Not run: carte_thematique( data_sf = regions_sf_enrichi, var_couleur = "taux_pauvrete_moyenne", titre = "Taux de pauvrete par region" ) ## End(Not run)## Not run: carte_thematique( data_sf = regions_sf_enrichi, var_couleur = "taux_pauvrete_moyenne", titre = "Taux de pauvrete par region" ) ## End(Not run)
Charge un fond de carte geographique directement integre dans statAfrikR. Aucun package supplementaire requis.
carte_zones( zone = c("afrique", "cemac", "cedeao", "eau", "sadc", "rca", "subdivisions"), pays = NULL )carte_zones( zone = c("afrique", "cemac", "cedeao", "eau", "sadc", "rca", "subdivisions"), pays = NULL )
zone |
character – Zone geographique :
|
pays |
character ou NULL – Filtrer par noms de pays (colonne
|
Un objet sf pret a l'emploi
# 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"))# 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"))
Calcule le taux de valeurs manquantes par variable et produit un rapport de complétude. Alerte sur les variables dépassant le seuil.
check_na(data, seuil = 0.1, vars = NULL, alerter = TRUE)check_na(data, seuil = 0.1, vars = NULL, alerter = TRUE)
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. |
Un tibble avec les colonnes : variable, n_total,
n_manquant, taux_na, statut.
## Not run: rapport_na <- check_na(donnees_enquete) rapport_na <- check_na(donnees_enquete, seuil = 0.05, vars = c("age", "revenu")) ## End(Not run)## 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é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.
check_types(data, dictionnaire = NULL)check_types(data, dictionnaire = NULL)
data |
data.frame ou tibble — Données à vérifier |
dictionnaire |
data.frame ou NULL — Dictionnaire avec colonnes
|
Un tibble avec les anomalies détectées :
variable, type_actuel, type_attendu, probleme.
## Not run: anomalies <- check_types(donnees_enquete) ## End(Not run)## Not run: anomalies <- check_types(donnees_enquete) ## End(Not run)
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.
compresser_package_diffusion( donnees, repertoire_sortie, nom_package, inclure_csv = TRUE, inclure_rds = TRUE, fichiers_supplementaires = NULL, metadonnees = NULL )compresser_package_diffusion( donnees, repertoire_sortie, nom_package, inclure_csv = TRUE, inclure_rds = TRUE, fichiers_supplementaires = NULL, metadonnees = NULL )
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. |
Chemin de l'archive ZIP (invisible).
## 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)## 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)
Decompose un indice FGT en contributions relatives de chaque sous-groupe a la pauvrete nationale.
decomposer_fgt(fgt_obj, variable, alpha_cible = 0)decomposer_fgt(fgt_obj, variable, alpha_cible = 0)
fgt_obj |
objet |
variable |
character – Sous-groupe a decomposer |
alpha_cible |
numeric – Indice a decomposer : 0, 1 ou 2. Defaut : 0 |
Tibble avec contributions absolues et relatives
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)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)
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.
decomposer_inegalite( data, var_revenu, var_groupe = NULL, var_poids = NULL, mesures = c("all", "gini", "theil", "atkinson") )decomposer_inegalite( data, var_revenu, var_groupe = NULL, var_poids = NULL, mesures = c("all", "gini", "theil", "atkinson") )
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 :
|
Une liste avec les mesures d'inégalité et leur décomposition.
## 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)## 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)
Exporte une liste de tableaux dans un classeur Excel avec feuille de sommaire.
exporter_excel_ins( tableaux, chemin, titre_classeur = "Statistiques INS", pays = NULL, annee = NULL, style = c("ins_standard", "minimal") )exporter_excel_ins( tableaux, chemin, titre_classeur = "Statistiques INS", pays = NULL, annee = NULL, style = c("ins_standard", "minimal") )
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 : |
Chemin du fichier cree (invisible)
## 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)## 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)
Exporte un objet ggplot en PNG, PDF ou SVG avec les paramètres optimaux pour publication officielle.
exporter_graphique( graphique, chemin, largeur = 20, hauteur = 14, dpi = 300L, fond = "white" )exporter_graphique( graphique, chemin, largeur = 20, hauteur = 14, dpi = 300L, fond = "white" )
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". |
Chemin du fichier exporté (invisible).
## 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)## 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)
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.).
exporter_sdmx( data, flux_donnees, agence = "INS", vars_dimensions, vars_mesures, vars_attributs = NULL, fichier_sortie, version = "2.1" )exporter_sdmx( data, flux_donnees, agence = "INS", vars_dimensions, vars_mesures, vars_attributs = NULL, fichier_sortie, version = "2.1" )
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". |
Chemin du fichier exporté (invisible).
## 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)## 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)
Fusionne plusieurs datasets horizontalement (jointure) ou verticalement (empilement). Gère les conflits de noms de variables et produit un rapport de fusion.
fusion_datasets( liste_data, type = c("vertical", "horizontal"), cle = NULL, jointure = c("gauche", "interne", "droite", "complete"), suffixes = c("_1", "_2") )fusion_datasets( liste_data, type = c("vertical", "horizontal"), cle = NULL, jointure = c("gauche", "interne", "droite", "complete"), suffixes = c("_1", "_2") )
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"). |
Un tibble fusionné.
## 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)## 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)
Genere un bulletin statistique mensuel ou trimestriel avec indicateurs cles, graphiques de tendance et tableau de bord.
generer_bulletin( indicateurs, periode, pays = "Pays", sortie = c("html", "word"), chemin_sortie = tempdir(), ouvrir = FALSE )generer_bulletin( indicateurs, periode, pays = "Pays", sortie = c("html", "word"), chemin_sortie = tempdir(), ouvrir = FALSE )
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 |
Chemin du fichier genere (invisible)
## 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)## 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)
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).
generer_metadonnees_ddi( data, titre = NULL, pays = NULL, annee = NULL, institution = NULL, auteurs = NULL, description = NULL, fichier_sortie = NULL, langue = "fr" )generer_metadonnees_ddi( data, titre = NULL, pays = NULL, annee = NULL, institution = NULL, auteurs = NULL, description = NULL, fichier_sortie = NULL, langue = "fr" )
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". |
Chemin du fichier généré (invisible).
## 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)## 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)
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.
generer_rapport( donnees, template = "bulletin_mensuel", format_sortie = c("word", "pdf"), fichier_sortie = NULL, metadonnees = NULL, ouvrir = FALSE )generer_rapport( donnees, template = "bulletin_mensuel", format_sortie = c("word", "pdf"), fichier_sortie = NULL, metadonnees = NULL, ouvrir = FALSE )
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. |
Chemin du fichier généré (invisible).
## 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)## 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)
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.
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 )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 )
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 |
Chemin du fichier genere (invisible)
## 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)## 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)
Genere un rapport de suivi des Objectifs de Developpement Durable au format standard PARIS21/Nations Unies.
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 )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 )
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 |
Chemin du fichier genere (invisible)
## 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)## 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)
Génère un graphique en barres avec intervalles de confiance optionnels, adapté aux résultats d'enquêtes pondérées.
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 )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 )
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. |
Un objet ggplot.
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") }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") }
Visualise les indices FGT nationaux et/ou par sous-groupe.
graphique_fgt( fgt_obj, type = c("barres", "indices"), variable = NULL, couleur = "#1B4965" )graphique_fgt( fgt_obj, type = c("barres", "indices"), variable = NULL, couleur = "#1B4965" )
fgt_obj |
objet |
type |
character – |
variable |
character ou NULL – Variable de sous-groupe a representer |
couleur |
character – Couleur principale. Defaut : |
Objet ggplot2
## 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)## 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)
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.
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 )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 )
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. |
Un objet ggplot.
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") }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") }
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.
harmoniser_regions( data, var_region, pays = NULL, table_correspondance = NULL, var_sortie = "region_std", signaler_non_trouves = TRUE )harmoniser_regions( data, var_region, pays = NULL, table_correspondance = NULL, var_sortie = "region_std", signaler_non_trouves = TRUE )
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. |
Le tibble avec une colonne var_sortie ajoutée contenant
les régions standardisées.
## Not run: donnees <- data.frame(region = c("Littoral","Atlantique","Borgou")) harmoniser_regions(donnees, var_region = "region", pays = "BJ") ## End(Not run)## Not run: donnees <- data.frame(region = c("Littoral","Atlantique","Borgou")) harmoniser_regions(donnees, var_region = "region", pays = "BJ") ## End(Not run)
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.
import_cspro( fichier_dat, fichier_dcf = NULL, niveau = NULL, encoding = "UTF-8", max_lignes = NULL, verbose = TRUE )import_cspro( fichier_dat, fichier_dcf = NULL, niveau = NULL, encoding = "UTF-8", max_lignes = NULL, verbose = TRUE )
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. |
Un tibble avec une colonne par variable CSPro. Les labels de valeurs
sont stockés dans les attributs du tibble (attr(., "labels_cspro")).
## 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)## 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)
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).
import_csv( chemin, separateur = NULL, encodage = "UTF-8", decimal = ".", na = c("", "NA", "N/A", "n/a", ".", " "), verbose = TRUE )import_csv( chemin, separateur = NULL, encodage = "UTF-8", decimal = ".", na = c("", "NA", "N/A", "n/a", ".", " "), verbose = TRUE )
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. |
Un tibble.
## Not run: donnees <- import_csv("data/prix_marches.csv") donnees_fr <- import_csv("data/donnees_fr.csv", decimal = ",") ## End(Not run)## Not run: donnees <- import_csv("data/prix_marches.csv") donnees_fr <- import_csv("data/donnees_fr.csv", decimal = ",") ## End(Not run)
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.
import_excel( chemin, feuille = 1, skip = 0, col_types = NULL, na = c("", "NA", "N/A", "n/a", ".", " "), verbose = TRUE )import_excel( chemin, feuille = 1, skip = 0, col_types = NULL, na = c("", "NA", "N/A", "n/a", ".", " "), verbose = TRUE )
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. |
Un tibble si une seule feuille, une liste de tibbles si
feuille = NULL.
import_csv, valider_dictionnaire
## 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)## 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)
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.
import_kobo( source, uid = NULL, token = Sys.getenv("KOBO_TOKEN"), format = c("xls", "json"), langue = "French (fr)", verbose = TRUE )import_kobo( source, uid = NULL, token = Sys.getenv("KOBO_TOKEN"), format = c("xls", "json"), langue = "French (fr)", verbose = TRUE )
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. |
Un tibble avec les colonnes du formulaire. L'attribut
attr(., "metadonnees_kobo") contient le dictionnaire des variables.
## 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)## 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)
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.
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 )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 )
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. |
Un tibble contenant les soumissions du formulaire.
## 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 = "[email protected]", ODK_PASSWORD = "motdepasse") donnees <- import_odk( source = "https://odk.monins.org", projet_id = 1, formulaire_id = "enquete_menage_2024" ) ## End(Not run)## 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 = "[email protected]", ODK_PASSWORD = "motdepasse") donnees <- import_odk( source = "https://odk.monins.org", projet_id = 1, formulaire_id = "enquete_menage_2024" ) ## End(Not run)
Importe un fichier SAS (.sas7bdat) ou un fichier de formats SAS (.sas7bcat) avec préservation des labels.
import_sas(chemin, chemin_formats = NULL, encoding = "UTF-8", verbose = TRUE)import_sas(chemin, chemin_formats = NULL, encoding = "UTF-8", verbose = TRUE)
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. |
Un tibble.
## Not run: donnees <- import_sas("data/enquete_emploi.sas7bdat") ## End(Not run)## Not run: donnees <- import_sas("data/enquete_emploi.sas7bdat") ## End(Not run)
Importe un fichier SPSS (.sav ou .zsav) avec préservation des labels de variables et de valeurs SPSS.
import_spss( chemin, garder_labels = TRUE, convertir_labels = FALSE, encoding = NULL, verbose = TRUE )import_spss( chemin, garder_labels = TRUE, convertir_labels = FALSE, encoding = NULL, verbose = TRUE )
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. |
Un tibble.
## Not run: mics <- import_spss("data/mics6_enfants.sav") ## End(Not run)## Not run: mics <- import_spss("data/mics6_enfants.sav") ## End(Not run)
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).
import_stata( chemin, encoding = "UTF-8", garder_labels = TRUE, convertir_labels = FALSE, verbose = TRUE )import_stata( chemin, encoding = "UTF-8", garder_labels = TRUE, convertir_labels = FALSE, verbose = TRUE )
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. |
Un tibble avec attributs de labels si garder_labels = TRUE.
## Not run: eds <- import_stata("data/eds_2021.dta") eds_facteurs <- import_stata("data/eds_2021.dta", convertir_labels = TRUE) ## End(Not run)## Not run: eds <- import_stata("data/eds_2021.dta") eds_facteurs <- import_stata("data/eds_2021.dta", convertir_labels = TRUE) ## End(Not run)
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é.
imputer_valeurs( data, vars = NULL, methode = c("mediane", "moyenne", "mode", "hot_deck", "regression"), vars_auxiliaires = NULL, graine = 42L, rapport = TRUE )imputer_valeurs( data, vars = NULL, methode = c("mediane", "moyenne", "mode", "hot_deck", "regression"), vars_auxiliaires = NULL, graine = 42L, rapport = TRUE )
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. |
Si rapport = FALSE : tibble imputé.
Si rapport = TRUE : liste avec $donnees et $rapport.
## 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)## 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)
Retourne la liste des templates R Markdown disponibles dans statAfrikR avec leur description et parametres.
lister_templates()lister_templates()
Un tibble avec : nom, description, parametres, format_sortie
lister_templates()lister_templates()
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.
nettoyer_libelles( data, vars = NULL, casse = c("titre", "majuscule", "minuscule", "aucune"), supprimer_espaces = TRUE, supprimer_ponctuation = FALSE, encodage = "UTF-8" )nettoyer_libelles( data, vars = NULL, casse = c("titre", "majuscule", "minuscule", "aucune"), supprimer_espaces = TRUE, supprimer_ponctuation = FALSE, encodage = "UTF-8" )
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". |
Un tibble avec les variables textuelles nettoyées.
## Not run: donnees <- data.frame(region = c(" nord ","SUD"), commune = c("Cotonou "," parakou")) nettoyer_libelles(donnees, vars = c("region", "commune")) ## End(Not run)## Not run: donnees <- data.frame(region = c(" nord ","SUD"), commune = c("Cotonou "," parakou")) nettoyer_libelles(donnees, vars = c("region", "commune")) ## End(Not run)
Retourne le catalogue des indicateurs ODD implementes dans statAfrikR, selectionnes selon leur pertinence et disponibilite pour les INS africains (reference PARIS21, AFRISTAT, Nations Unies).
odd_catalogue( objectif = NULL, disponibilite = NULL, statut = NULL, format = c("tibble", "flextable") )odd_catalogue( objectif = NULL, disponibilite = NULL, statut = NULL, format = c("tibble", "flextable") )
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 – |
Tibble ou flextable du catalogue filtre
# Tous les indicateurs odd_catalogue() # Indicateurs ODD 1 (pauvrete) implementes odd_catalogue(objectif = 1, statut = "implementee") # Indicateurs a haute disponibilite odd_catalogue(disponibilite = "haute")# Tous les indicateurs odd_catalogue() # Indicateurs ODD 1 (pauvrete) implementes odd_catalogue(objectif = 1, statut = "implementee") # Indicateurs a haute disponibilite odd_catalogue(disponibilite = "haute")
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.
odd_indicateur(data, code_odd, ..., poids = NULL, na.rm = TRUE)odd_indicateur(data, code_odd, ..., poids = NULL, na.rm = TRUE)
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 |
Arguments specifiques par indicateur :
var_depense : variable de depenses par tete,
seuil : seuil en monnaie locale (defaut : equivalence 2.15 USD PPA)
var_depense : variable de depenses par tete,
seuil : seuil national de pauvrete
var_taille : taille de l'enfant (cm),
var_age_mois : age en mois,
var_sexe : sexe (1=M, 2=F ou "M"/"F")
var_deces_enfant : indicateur deces enfant (0/1),
var_naissances : nombre de naissances vivantes ou variable indicatrice
var_age_mariage : age au premier mariage,
var_age_actuel : age actuel,
seuil_age : seuil (defaut : 18)
var_indicateur : variable binaire (1 = condition remplie, 0 = non)
var_depense : variable de depenses,
var_periode : variable de periode (annees),
seuil_pct : percentile inferieur (defaut : 40)
Un objet de classe saf_odd avec :
Valeur de l'indicateur
Unite de mesure
Code ODD
Libelle court
Numerateur du calcul
Denominateur du calcul
Observations utilisees
Valeurs manquantes exclues
Metadonnees completes du catalogue
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")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")
Retourne une palette de couleurs officielle pour les graphiques INS, compatible daltonisme.
palette_ins(n = 6, type = c("categoriel", "sequentiel", "divergent"))palette_ins(n = 6, type = c("categoriel", "sequentiel", "divergent"))
n |
integer — Nombre de couleurs souhaité. Défaut : 6. |
type |
character — |
Vecteur de codes couleurs hexadécimaux.
palette_ins(4)palette_ins(4)
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.
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" )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" )
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". |
Un objet ggplot.
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") }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") }
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.
recoder_variable( data, var, table_recodage, var_sortie = NULL, na_si_absent = TRUE )recoder_variable( data, var, table_recodage, var_sortie = NULL, na_si_absent = TRUE )
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. |
Le tibble avec la variable recodée.
## 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)## 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)
10 regions du Cameroun.
saf_cameroun_departementssaf_cameroun_departements
Objet sf avec colonnes : departement, code, geometry.
Natural Earth – statAfrikR Foundation
cam <- carte_zones('subdivisions', pays = 'CMR')cam <- carte_zones('subdivisions', pays = 'CMR')
Communaute Economique des Etats de l'Afrique de l'Ouest.
saf_cedeaosaf_cedeao
Objet sf (sous-ensemble de saf_pays_afrique)
Natural Earth – statAfrikR Foundation
cedeao <- carte_zones('cedeao')cedeao <- carte_zones('cedeao')
Cameroun, Centrafrique, Congo, Gabon, Guinee Equatoriale, Tchad.
saf_cemacsaf_cemac
Objet sf (sous-ensemble de saf_pays_afrique)
Natural Earth – statAfrikR Foundation
cemac <- carte_zones('cemac')cemac <- carte_zones('cemac')
Communaute d'Afrique de l'Est.
saf_eausaf_eau
Objet sf (sous-ensemble de saf_pays_afrique)
Natural Earth – statAfrikR Foundation
eau <- carte_zones('eau')eau <- carte_zones('eau')
Fond de carte des 54 pays africains.
saf_pays_afriquesaf_pays_afrique
Objet sf avec colonnes : pays, pays_fr, iso2, iso3, sous_region, geometry.
Natural Earth via rnaturalearth – statAfrikR Foundation
afrique <- carte_zones('afrique')afrique <- carte_zones('afrique')
17 prefectures de la RCA avec codes administratifs.
saf_rca_prefecturessaf_rca_prefectures
Objet sf avec colonnes : pays, iso3, prefecture, code, geometry.
Natural Earth – statAfrikR Foundation
rca <- carte_zones('rca')rca <- carte_zones('rca')
Communaute de Developpement de l'Afrique Australe.
saf_sadcsaf_sadc
Objet sf (sous-ensemble de saf_pays_afrique)
Natural Earth – statAfrikR Foundation
sadc <- carte_zones('sadc')sadc <- carte_zones('sadc')
14 regions du Senegal.
saf_senegal_regionssaf_senegal_regions
Objet sf avec colonnes : region, code, geometry.
Natural Earth – statAfrikR Foundation
sen <- carte_zones('subdivisions', pays = 'SEN')sen <- carte_zones('subdivisions', pays = 'SEN')
Prefectures, regions et provinces de 43 pays africains (744 subdivisions + 17 prefectures RCA = 761 total).
saf_subdivisions_afriquesaf_subdivisions_afrique
Objet sf avec colonnes : pays, iso3, subdivision, code_admin, geometry.
Natural Earth – statAfrikR Foundation
cam <- carte_zones('subdivisions', pays = 'CMR')cam <- carte_zones('subdivisions', pays = 'CMR')
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é.
standardiser_ages( data, var_age = "age", methode = c("aucune", "interpolation", "united_nations"), age_min = 0L, age_max = 120L )standardiser_ages( data, var_age = "age", methode = c("aucune", "interpolation", "united_nations"), age_min = 0L, age_max = 120L )
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. |
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é |
## Not run: donnees <- data.frame(age = sample(0:80, 200, replace=TRUE)) standardiser_ages(donnees, var_age="age") ## End(Not run)## Not run: donnees <- data.frame(age = sample(0:80, 200, replace=TRUE)) standardiser_ages(donnees, var_age="age") ## End(Not run)
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.
stat_descr( data, vars, groupe = NULL, ponderee = TRUE, ic = TRUE, format_sortie = c("tibble", "flextable") )stat_descr( data, vars, groupe = NULL, ponderee = TRUE, ic = TRUE, format_sortie = c("tibble", "flextable") )
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 : |
Tibble ou flextable avec : n, moyenne, médiane, écart-type, min, max, IC95.
## 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)## 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)
Identifie et supprime les enregistrements dupliqués selon une ou plusieurs clés d'identification. Produit un rapport des doublons détectés.
supprimer_doublons( data, cles = NULL, garder = c("premier", "dernier", "aucun"), rapport = TRUE )supprimer_doublons( data, cles = NULL, garder = c("premier", "dernier", "aucun"), rapport = TRUE )
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. |
Si rapport = FALSE : tibble dédupliqué.
Si rapport = TRUE : liste avec $donnees et $rapport.
## 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)## 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)
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.
tab_croisee( data, var_ligne, var_col = NULL, var_poids = NULL, ic = TRUE, pourcentage = c("colonne", "ligne", "total"), format_sortie = c("flextable", "tibble") )tab_croisee( data, var_ligne, var_col = NULL, var_poids = NULL, ic = TRUE, pourcentage = c("colonne", "ligne", "total"), format_sortie = c("flextable", "tibble") )
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 — |
Tibble ou flextable du tableau croisé.
## 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)## 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)
Produit un tableau de contingence pondere avec marges, pourcentages et test du chi-deux.
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 )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 )
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 |
Tibble, flextable ou chemin Excel
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")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")
Produit un tableau de statistiques descriptives pondere, formate selon les conventions des INS africains. Exportable en Word (flextable) ou Excel (openxlsx2).
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 )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 )
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 |
Tibble, flextable ou chemin fichier Excel
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")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")
Genere un tableau des indices FGT formate selon les conventions des INS africains et de la Banque mondiale (EHCVM).
tableau_fgt( fgt_obj, format = c("tibble", "flextable", "excel"), chemin = NULL, titre = NULL, inclure_sous_groupes = TRUE )tableau_fgt( fgt_obj, format = c("tibble", "flextable", "excel"), chemin = NULL, titre = NULL, inclure_sous_groupes = TRUE )
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 |
Tibble, flextable ou chemin du fichier Excel
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)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)
Calcule et presente plusieurs indicateurs ODD dans un tableau de suivi formate selon les standards de reporting PARIS21/Nations Unies.
tableau_odd( resultats, pays = NULL, annee = NULL, cibles = NULL, format = c("tibble", "flextable", "excel"), chemin = NULL )tableau_odd( resultats, pays = NULL, annee = NULL, cibles = NULL, format = c("tibble", "flextable", "excel"), chemin = NULL )
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 |
Tibble, flextable ou chemin Excel
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)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)
Applique un thème graphique professionnel adapté aux publications officielles des Instituts Nationaux de Statistique africains. Inspiré des chartes graphiques AFRISTAT/PARIS21.
theme_ins( base_size = 11, base_family = "sans", couleur_fond = "white", grille = TRUE, grille_mineure = FALSE )theme_ins( base_size = 11, base_family = "sans", couleur_fond = "white", grille = TRUE, grille_mineure = FALSE )
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. |
Un objet theme ggplot2.
if (requireNamespace("ggplot2", quietly = TRUE)) { ggplot2::ggplot(mtcars, ggplot2::aes(wt, mpg)) + ggplot2::geom_point() + theme_ins() }if (requireNamespace("ggplot2", quietly = TRUE)) { ggplot2::ggplot(mtcars, ggplot2::aes(wt, mpg)) + ggplot2::geom_point() + theme_ins() }
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.
tracer_flux_traitement(data, action, journal = NULL, details = NULL)tracer_flux_traitement(data, action, journal = NULL, details = NULL)
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. |
Une liste mise à jour avec $donnees et $journal.
## 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)## 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)
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.
valider_dictionnaire(data, dictionnaire, stopper_si_critique = FALSE)valider_dictionnaire(data, dictionnaire, stopper_si_critique = FALSE)
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. |
Une liste avec :
valide |
logical — TRUE si aucune erreur critique |
rapport |
data.frame — Détail des anomalies |
score_qualite |
numeric — Score de 0 à 100 |
## 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)## 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)
Calcule un score de qualité composite (0-100) en évaluant la complétude, la cohérence, l'unicité et la plausibilité des données.
valider_qualite_donnees(data, seuil_na = 0.1, vars_cles = NULL)valider_qualite_donnees(data, seuil_na = 0.1, vars_cles = NULL)
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. |
Une liste avec score_global et le détail par dimension.
## 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)## 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)