library(knitr)
library(dplyr, warn.conflicts = FALSE)
options(dplyr.summarise.inform = FALSE)
library(sf,quietly = T)
library(mapsf)
library(RColorBrewer)
library(haven)
5 Equipement des ménages
5.1 Agrégation des ménages
Nous allons prendre ici un exemple de calcul ou l’unité de compte est ménage et non pas l’individu. A titre d’exemple, on va calculer le nombre de ménages disposant d’électricité en écartant les données inconnues. Pour cela nous allons construire un programme qui effectue les tâches suivantes :
- ne conserver que les chefs de ménage (RELATE == 1)
- écarter les cas où la variable n’est pas renseignée (ELECTRIC = 1 ou 2)
- agréger les données en pondérant par le poids des ménages (HHWT)
- calculer le nombre total de ménages disponibles (nbmen)
- calculer l part des ménages équipés (pct)
## Chargement des données
<-readRDS(file = "ipums/rp/rp_fivecountries_samp10pct.RDS")
rp # Convertit les variables haven_labelled en factors
<-as_factor(rp, only_labelled=T)
rp
table(rp$ELECTRIC)
## Calcul au niveau administratif I
<-rp %>% group_by(GEOLEV1, ELECTRIC) %>%
men1filter(RELATE == 1, ELECTRIC %in% c(1,2)) %>%
summarise(N=sum(HHWT)) %>%
mutate(GEOLEV1 = as.character(GEOLEV1)) %>%
::dcast(formula = GEOLEV1~ELECTRIC,value.var = "N") %>%
reshape2rename(code=GEOLEV1,ELEC_oui=2,ELEC_non=3) %>%
mutate(ELEC_tot = ELEC_oui+ELEC_non,
ELEC_pct = 100* ELEC_oui/ELEC_tot)%>%
select(code, ELEC_tot,ELEC_oui,ELEC_non,ELEC_pct)
saveRDS(men1, "indic/all/MEN_ELEC_LEV1.RDS")
## Calcul au niveau administratif II
<-rp %>% group_by(GEOLEV2, ELECTRIC) %>%
men2filter(RELATE == 1) %>%
summarise(N=sum(HHWT)) %>%
mutate(GEOLEV2 = as.character(GEOLEV2)) %>%
::dcast(formula = GEOLEV2~ELECTRIC,value.var = "N") %>%
reshape2rename(code=GEOLEV2,ELEC_oui=2,ELEC_non=3) %>%
mutate(ELEC_tot = ELEC_oui+ELEC_non,
ELEC_pct = 100* ELEC_oui/ELEC_tot)%>%
select(code, ELEC_tot,ELEC_oui,ELEC_non,ELEC_pct)
saveRDS(men2, "indic/all/MEN_ELEC_LEV2.RDS")
5.2 Ajout de la géométrie
Nous procédons ensuite à la jointure avec les fonds de carte afin de pouvoir ajouter les métadonnées qui y sont présentes et aboutir à une visualisation cartographique. Le résultat sera stocké au format sf et au format shapefile afin de pouvoir être réutilisé dans d’autres applications en dehors de R (Magrit, Geoda; …).
A titre d’exemple, nous allons utiliser les fonds de carte simple et les cartogrammes mis au point dans la partie précédente.
5.2.1 RP Bénin, 2013
library(sf)
="bj2013"
census
# Jointure au niveau I
<-readRDS("indic/all/MEN_ELEC_LEV1.RDS")
men1<-readRDS(paste0("indic/",census,"/","map_lev1_",census,".RDS"))
map1<- left_join(map1,men1) %>% select(code,nom, pays, ELEC_tot, ELEC_oui,ELEC_non, ELEC_pct, geometry)
mapdon1 saveRDS(mapdon1, paste0("indic/",census,"/","elec_lev1_",census,".RDS"))
st_write(mapdon1, paste0("indic/",census,"/","elec_lev1_",census,".shp"),delete_dsn = T, quiet=T)
# Jointure au niveau II
<-readRDS("indic/all/MEN_ELEC_LEV2.RDS")
men2<-readRDS(paste0("indic/",census,"/","map_lev2_",census,".RDS"))
map2<- left_join(map2,men2) %>% select(code,nom, pays, ELEC_tot, ELEC_oui,ELEC_non, ELEC_pct, geometry)
mapdon2 saveRDS(mapdon2, paste0("indic/",census,"/","elec_lev2_",census,".RDS"))
st_write(mapdon2, paste0("indic/",census,"/","elec_lev2_",census,".shp"),delete_dsn = T, quiet=T)
# Vérification
=c(0,1,2,4,8,16,32, 64,100)
mybreaks= brewer.pal(8,"YlOrBr")
mycols par(mfrow=c(1,2))
mf_map(mapdon1,type="choro",
var="ELEC_pct",
breaks=mybreaks,
pal=mycols,
leg_title = "% ménages",
leg_val_rnd = 0)
mf_layout(title = paste(census,"- Electrification au niveau I"),
credits = "Sources : IPUMS, 2020 & INS Bénin,2013",
scale = FALSE, arrow=FALSE)
mf_map(mapdon2,type="choro",
var="ELEC_pct",
breaks=mybreaks,
pal=mycols,
leg_title = "% ménages",
leg_val_rnd = 0,
lwd=0.3,
border = "gray80")
mf_map(map1,type="base",
add=T,
lwd=1,
col = NA,
border="black")
mf_layout(title = paste(census,"- Electrification au niveau II"),
credits = "Sources : IPUMS, 2020 & INS Bénin,2013",
scale = FALSE, arrow=FALSE)
5.2.2 RP Burkina Faso, 2006
5.2.3 RP Mali, 2009
5.2.4 RP Sénégal, 2013
5.2.5 RP Togo, 2010
- Commentaire : dans le cas du Togo, il serait préférable d’utiliser le niveau administratif I de l’année 2010 plutôt que le niveau harmonisé 1970-2010 qui réduit le pays à 3 régions seulement.
5.3 Prolongements
On peut facilement adapter le programme précédent pour construire de nombeux autres indicateurs d’équipements des ménages.
On peut également lorsque les données le permettent, construire pour un pays une séquence d’évolution d’un indicateur à plusieurs dates.