Correspondances des tables avec le code INSEE et taux d’abstentions

# Nous avons récupéré les codes de l'INSEE correspondant à chaque commune
codes_postaux2 <- read.csv("codes_postaux2.csv", sep=";", header=TRUE)

# Nous mettons d'abord la table codes_postaux2 en charactère pour pouvoir mettre les chiffres du code département en numérique qui enlèvera les 0 devant les nombres.

codes_postaux2[,16] <- as.character(codes_postaux2[,16])

# Comme dans la table récupérée, nous avons le code département de la Corse avec des caractères, nous devons les laisser en caractère et pour les autres codes départements, nous les mettons en numérique.

for (i in 1:length(codes_postaux2[,16])){
  if (grepl("2A",as.character(codes_postaux2[i,16]))==TRUE){
    codes_postaux2[i,16] <- as.character(codes_postaux2[i,16])
  }
  else if (grepl("2B",as.character(codes_postaux2[i,16]))==TRUE){
    codes_postaux2[i,16] <- as.character(codes_postaux2[i,16])
  }
  else{
    codes_postaux2[i,16] <- as.numeric(codes_postaux2[i,16])
  }
}

# Comme il y a une ligne qui réunit tous les arrondissements de Lyon, nous pouvons donc supprimer les lignes pour chaque arrondissement.

# Pour le premier tour
colnames(data_1tour_2) <- c("Nombre inscrits", "Nombre Abstentions", "Code.Commune", "Code.Département")

data_1tour_2 <- data_1tour_2[-c((which(data_1tour_2[,3]=="123AR01")),
                                (which(data_1tour_2[,3]=="123AR02")),
                                (which(data_1tour_2[,3]=="123AR03")),
                                (which(data_1tour_2[,3]=="123AR04")),
                                (which(data_1tour_2[,3]=="123AR05")),
                                (which(data_1tour_2[,3]=="123AR06")),
                                (which(data_1tour_2[,3]=="123AR07")),
                                (which(data_1tour_2[,3]=="123AR08")),
                                (which(data_1tour_2[,3]=="123AR09"))),]


# Nous mettons en as.numeric pour enlever les 0 inutiles
data_1tour_2[,3] <- as.numeric(data_1tour_2[,3])


# Jointure de deux tables concernant le premier tour, les résultats et les indicatifs géographiques
tour1 <- merge(codes_postaux2,data_1tour_2, by = intersect(names(data_1tour_2), names(codes_postaux2)))

# ajout de la colonne "taux d'abstention"
tour1bis <- cbind(tour1,(tour1[,19]/tour1[,18])*100)

# Nous renommons la colonne que nous venons de créer.
names(tour1bis)[20] <- c("Taux d'abstention")

# On enlève les doublons
tour1bis <- tour1bis[!duplicated(tour1bis[,3]),]


# Pour le deuxième tour
colnames(data_2tour_2) <- c("Nombre inscrits", "Nombre Abstentions", "Code.Commune", "Code.Département")

data_2tour_2 <- data_2tour_2[-c((which(data_2tour_2[,3]=="123AR02")),
                                (which(data_2tour_2[,3]=="123AR04")),
                                (which(data_2tour_2[,3]=="123AR06"))),]


# Nous mettons en as.numeric pour enlever les 0 inutiles
data_2tour_2[,3] <- as.numeric(data_2tour_2[,3])


# Jointure de deux tables concernant le deuxième tour, les résultats et les indicatifs géographiques
tour2 <- merge(codes_postaux2,data_2tour_2, by = intersect(names(data_2tour_2), names(codes_postaux2)))

# ajout de la colonne "taux d'abstention"
tour2bis <- cbind(tour2,(tour2[,19]/tour2[,18])*100)

# Nous renommons la colonne que nous venons de créer.
names(tour2bis)[20] <- c("Taux d'abstention")

# On enlève les doublons
tour2bis <- tour2bis[!duplicated(tour2bis[,3]),]