Skip to content

Instantly share code, notes, and snippets.

@RaddictsParis
Created June 25, 2014 21:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RaddictsParis/19575cf06bf8a3a05fcc to your computer and use it in GitHub Desktop.
Save RaddictsParis/19575cf06bf8a3a05fcc to your computer and use it in GitHub Desktop.
Carte du vote par procuration à Paris. Ce script permet de générer la carte présentée par Baptiste Coulmont lors du 7ème meetup Paris R Addicts
# R Meetup CODE R
library(maptools)
library(rgdal)
library(classInt)
library(RColorBrewer)
setwd("Dropbox/procurations/")
library(gpclib) #
gpclibPermit() #
###
# PARIS
###
# Elections de 2012, avec fichier cartelec 2012 Céline Colange (IR CNRS, UMR IDEES
###
paris<-readShapeSpatial("paris/paris-2012/paris2012.shp")
#on enleve boulogne, qui était dans le shapefile
paris<-paris[which(paris$CODEDEP=="75"),]
#pour tracer les limites des arrondissements
parisarr <- unionSpatialPolygons(paris, paris$CODE)
# chargement des données sur les présidentielles à Paris
# téléchargées sur opendata paris
parisp1<-read.csv2("paris/paris2012prest1ok.csv",header=TRUE)
parisp2<-read.csv2("paris/paris2012prest2ok.csv",header=TRUE)
# création d'une data.frame qui va contenir les résultats des élections des deux tours
# ce n'est pas du code efficace
elec<-data.frame()
elec<-cbind(parisp1$BV,(parisp1$PROCURATIONS+parisp2$PROCURATIONS),(parisp1$EXPRIMES+parisp2$EXPRIMES))
colnames(elec)<-c("BV","PROCURATIONS","EXPRIMES")
elec<-as.data.frame(elec)
elec$BV<-parisp1$BV
# partie la plus importante
# m est l'objet qui fait le lien entre le shapefile et les données électorales
m<-match(paris$BUREAU,elec$BV)
# plotvar est la variable à cartographier
plotvar<-100*elec$PROCURATIONS/elec$EXPRIMES
nclr <- 7 # nombre de couleurs utilisées
plotclr <- brewer.pal(nclr,"RdYlBu")[nclr:1]
class <- classIntervals(plotvar[m], nclr, style="fisher",dataPrecision=1) # découpage suivant l'algo fisher, il en existe d'autres
colcode <- findColours(class, plotclr)
plot(paris,col=colcode,border=colcode)
legend(656274.9, 6867308,legend=names(attr(colcode,"table")), fill=attr(colcode, "palette"), cex=1, bty="n",title="Fréquence moyenne des procurations (%)")
title(main="2012, deux tours de présidentielles à Paris",sub="Fonds : Cartelec, Céline Colange (IR CNRS, UMR IDEES) -- Données : opendata.paris.fr -- Cartographie : B. Coulmont",line=1,cex.main=1)
plot(parisarr,add=TRUE,lwd=.5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment