## code to prepare `rne` dataset goes here
library(readr)
library(dplyr)
library(lubridate)
library(readxl)
# library(purrr) Il faudrait améliorer le code avec du purrr
#paramétrage de la lecture des fichiers CSV mis à jour
lecture_csv <- function(fichier){
nom <- read_delim(fichier,
"\t", escape_double = FALSE, locale = locale(encoding = "UTF-8"),
trim_ws = TRUE, skip = 0)
return(nom)
}
# fichiers <- list.files("data-raw/rne",pattern = "csv",full.names = TRUE)
# test <- fichiers %>% map(lecture_csv)
# rne_cm <- as.data.frame(test[1])
rne_cm <- lecture_csv("data-raw/rne/rne-cm.csv")
rne_cd <- lecture_csv("data-raw/rne/rne-cd.csv")
rne_cr <- lecture_csv("data-raw/rne/rne-cr.csv")
rne_dep <- lecture_csv("data-raw/rne/rne-dep.csv")
rne_epci <- lecture_csv("data-raw/rne/rne-epci.csv")
rne_ma <- lecture_csv("data-raw/rne/rne-ma.csv")
rne_maires <- lecture_csv("data-raw/rne/rne-maires.csv")
rne_rpe <- lecture_csv("data-raw/rne/rne-rpe.csv")
rne_sen <- lecture_csv("data-raw/rne/rne-sen.csv")
#Fonction qui crée un identifiant dans chaque fichier
modif_csv <- function(data){
data <- data %>%
mutate(`Date de naissance`=as.Date(`Date de naissance`,format="%d/%m/%Y"),
IDENT = paste(`Prénom de l'élu`,`Nom de l'élu`,`Date de naissance`)) %>%
select(`Nom de l'élu`,
`Prénom de l'élu`,
`Code sexe`,
`Date de naissance`,
`Code de la catégorie socio-professionnelle`,
IDENT)
return(data)
}
rne_cm <- modif_csv(rne_cm)
rne_cd <- modif_csv(rne_cd)
rne_cr <- modif_csv(rne_cr)
rne_dep <- modif_csv(rne_dep)
rne_epci <- modif_csv(rne_epci)
rne_ma <- modif_csv(rne_ma)
rne_maires <- modif_csv(rne_maires)
rne_rpe <- modif_csv(rne_rpe)
rne_sen <- modif_csv(rne_sen)
#Fusion en un seul fichier
RNE_2020 <- rbind(rne_cm,rne_epci)
RNE_2020 <- rbind(RNE_2020,rne_cd)
RNE_2020 <- rbind(RNE_2020,rne_cr)
RNE_2020 <- rbind(RNE_2020,rne_ma)
RNE_2020 <- rbind(RNE_2020,rne_rpe)
RNE_2020 <- rbind(RNE_2020,rne_sen)
RNE_2020 <- rbind(RNE_2020,rne_dep)
RNE_2020 <- rbind(RNE_2020,rne_maires)
#Elimination des doublons
RNE_2020 <- RNE_2020 %>% distinct()
#Fonction qui crée une nouvelle variable booléenne
modif_boolean <- function(data,nom) {
x <- data %>%
mutate({{nom}} := TRUE) %>%
select(IDENT,{{nom}})
return(x)
}
rne_cm <- modif_boolean(rne_cm,`Conseiller municipal`)
rne_cd <- modif_boolean(rne_cd,`Conseiller départemental`)
rne_cr <- modif_boolean(rne_cr,`Conseiller régional`)
rne_dep <- modif_boolean(rne_dep,`Député`)
rne_epci <- modif_boolean(rne_epci,`Conseiller communautaire`)
rne_ma <- modif_boolean(rne_ma,`Conseiller de l'Assemblée de Corse`)
rne_maires <- modif_boolean(rne_maires,`Maire`)
rne_rpe <-modif_boolean(rne_rpe,`Représentant au Parlement européen`)
rne_sen <- modif_boolean(rne_sen,`Sénateur`)
#Enrichissement de la base de données
enrich_elu <- function(data,var){
RNE_2020 <- left_join(RNE_2020,data) %>%
mutate({{var}} := if_else(is.na({{var}}),FALSE,TRUE))
return(RNE_2020)
}
#Enrichissement de la base de données des élus
RNE_2020 <- enrich_elu(rne_cm,`Conseiller municipal`)
RNE_2020 <- enrich_elu(rne_cd,`Conseiller départemental`)
RNE_2020 <- enrich_elu(rne_cr,`Conseiller régional`)
RNE_2020 <- enrich_elu(rne_dep,`Député`)
RNE_2020 <- enrich_elu(rne_epci,`Conseiller communautaire`)
RNE_2020 <- enrich_elu(rne_ma,`Conseiller de l'Assemblée de Corse`)
RNE_2020 <- enrich_elu(rne_maires,`Maire`)
RNE_2020 <- enrich_elu(rne_rpe,`Représentant au Parlement européen`)
RNE_2020 <- enrich_elu(rne_sen,`Sénateur`)
#Ajout de l'information sur le nombre de mandats
RNE_2020 <- RNE_2020 %>%
mutate(`Nombre de mandats` = as.factor(`Conseiller municipal`+
`Conseiller communautaire`+
`Conseiller départemental`+
`Conseiller régional`+
`Conseiller de l'Assemblée de Corse`+
`Représentant au Parlement européen`+
`Sénateur`+
`Député`+
`Maire`))
#Création d'une variable Age (en âge révolu à la fin de l'année 2021)
Auj <- ymd("2021-12-31")
RNE_2020 <- RNE_2020 %>%
mutate(Age = trunc(time_length(interval(`Date de naissance`,Auj),"years")))
#Récupération du fichier sur Insee.Fr avec les CSP
pcs2003_c_n4_n1_1 <- read_excel("data-raw/rne/pcs2003_c_n4_n1-1.xls",
skip = 1) %>%
mutate(N3 = as.factor(N3),
N2 = as.factor(N2),
N1 = as.factor(N1)) %>%
select(N1,N2,N3)
RNE_2020 <- RNE_2020 %>%
mutate(N3=as.factor(`Code de la catégorie socio-professionnelle`))
RNE_2020 <- left_join(RNE_2020,pcs2003_c_n4_n1_1,by="N3")
RNE_2020 <- RNE_2020 %>%
distinct() %>%
mutate(N3 = as.factor(N3)) %>%
rename(PCS = N1) %>% select(-c(`Code de la catégorie socio-professionnelle`,N3,N2))
pcs2003_liste_n1 <- read_excel("data-raw/rne/pcs2003_liste_n1.xls",
skip = 1)
pcs2003_liste_n1 <- pcs2003_liste_n1 %>%
mutate(PCS = as.factor(Code),Label = as.factor(Label))
RNE_2020 <-left_join(RNE_2020,pcs2003_liste_n1,by="PCS") %>%
select(-c(Code))
rne <- RNE_2020
#Permet de rendre la base de données accesible à l'utilisateur
usethis::use_data(rne, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.