Pourcentage d’ISF par département

Nous avons récupéré les données sur le nombre d’ISF par commune sur http://www.data.gouv.fr/fr/dataset/impot-de-solidarite-sur-la-fortune

ISF0 <- read.csv(file ="ISF_modif2.csv",sep=",", header=TRUE)
ISF0 <- data.frame("DEP"=ISF0[,4],"NbRedevables"=ISF0[,3])
ISF0[,1]<- as.factor(ISF0[,1])
ISF0[,2]<- as.numeric(ISF0[,2])


# somme des imposables à l'ISF par département
NbISF_par_dep <- matrix(rep(0,length(levels(ISF0[,1]))*2),nrow=length(levels(ISF0[,1])))
for(i in 1:length(levels(ISF0[,1]))){
  sub <- matrix()
  sub <- subset(ISF0,DEP==levels(ISF0[,1])[i])
  NbISF_par_dep[i,] <- c(levels(ISF0[,1])[i],sum(sub[,2]))
}

NbISF_par_dep <- data.frame(NbISF_par_dep)
NbISF_par_dep[,2] <- as.numeric(as.character(NbISF_par_dep[,2]))

NbISF_par_dep <- data.frame(NbISF_par_dep)
names(NbISF_par_dep)[1] <- c("CODE_DEPT")

# On réunit les tables chomage_par_dep et Nb_ISF_par_dep
NbISF_par_dep <- merge(chomage_par_dep,NbISF_par_dep,intersect(names(chomage_par_dep),names(NbISF_par_dep)))

# Nous mettons les colonnes 4 et 6 en numérique pour pouvoir faire des calculs par la suite
NbISF_par_dep[,6] <- as.numeric(as.character(NbISF_par_dep[,6]))
NbISF_par_dep[,4] <- as.numeric(as.character(NbISF_par_dep[,4]))

# Nous créons un pourcentage de personnes payant l'ISF par département
NbISF_par_dep <- data.frame(NbISF_par_dep,"Pourcent_ISF"=(NbISF_par_dep[,6]/NbISF_par_dep[,4])*100)

Affichage du taux de redevable à l’ISF par département.

library(maps)
library(rgdal)
library(sp)
library(plotrix)   # Créer des échelles de couleurs
library(classInt)

# Lecture des communes
departement <- readOGR(dsn="F:/M2 MIMSE/Semestre 2/Projet informatique/DEPARTEMENT", layer="DEPARTEMENT")

# Jointure entre chomage_par_dep et departement pour récupérer les coordonnées géographiques
departement <- merge(departement,NbISF_par_dep[,c(1,7)], by.x='CODE_DEPT',by.y='CODE_DEPT')

# Lecture des limites des communes
frontiere_departement <- readOGR(dsn="F:/M2 MIMSE/Semestre 2/Projet informatique/DEPARTEMENT", layer="LIMITE_DEPARTEMENT")

frontiere <- frontiere_departement[frontiere_departement$NATURE %in% 'Limite de département',]

europe <- readOGR(dsn="F:/M2 MIMSE/Semestre 2/Projet informatique/ne_110m_admin_0_countries", layer="ne_110m_admin_0_countries")

europe <- europe[europe$region_un=="Europe",]

# coloration 
col <- findColours(classIntervals(
  departement@data[,12], 100, style="quantile"),
  smoothColors("white",98,"purple"))

# Légende
leg <- findColours(classIntervals(
  round(departement@data[,12],3),6,style="quantile"),
  smoothColors("white",3,"purple"),
  under="moins de", over="plus de", between="–",
  cutlabels=FALSE)

# Projection en Lambert 93
europe <- spTransform(europe, CRS("+init=epsg:2154"))

# Traçage de la carte
plot(frontiere,  col="#FFFFFF")
plot(europe,  col="#E6E6E6", border="#AAAAAA",lwd=1, add=TRUE)
plot(frontiere,  col="#D8D6D4", lwd=6, add=TRUE)
plot(departement,col=col, border=col,lwd=.1, add=TRUE)
title(main="Pourcentage de redevables à l'ISF par département")

legend("topright",fill=attr(leg,"palette"),legend=names(attr(leg,"table")),
       title="Redevables ISF",cex=0.8)