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)