Nous avons récupéré la table logement_2010 sur http://www.insee.fr/fr/ppp/bases-de-donnees/donnees-detaillees/rp2010/chiffres-cles/base-cc-evol-struct-pop-2010/base-cc-evol-struct-pop-2010.zip
Nous allons tracer le taux de logements vacants par département pour le premier tour.
logement <- read.csv("logement_commune_2010.csv", sep=";", header=TRUE)
log_1 <- logement[,c(3,5,6,7,8)]
log_1 <- data.frame(log_1,"somme"=apply(log_1[,c(3,4,5)],1,sum))
## somme catégories de logements par départements
log_1[,1]<- as.factor(log_1[,1])
logement_par_dep <- matrix(rep(0,length(levels(log_1[,1]))*6),nrow=length(levels(log_1[,1])))
for(i in 1:length(levels(log_1[,1]))){
sub <- matrix()
sub <- subset(log_1,DEP ==levels(log_1[,1])[i])
logement_par_dep[i,] <- c(levels(log_1[,1])[i],apply(sub[,2:6],2,sum))
}
logement_par_dep <- data.frame(logement_par_dep)
logement_par_dep[,3] <- as.numeric(as.character(logement_par_dep[,3]))
logement_par_dep[,4] <- as.numeric(as.character(logement_par_dep[,4]))
logement_par_dep[,5] <- as.numeric(as.character(logement_par_dep[,5]))
logement_par_dep[,6] <- as.numeric(as.character(logement_par_dep[,6]))
## pourcentages des catégories de logements
logement_par_dep <- cbind(logement_par_dep,data.frame("pourcentage res princ"=(logement_par_dep[,3]/logement_par_dep[,6])*100,
"pourcentage res second"=(logement_par_dep[,4]/logement_par_dep[,6])*100,
"pourcentage log vacant"=(logement_par_dep[,5]/logement_par_dep[,6])*100))
# Nous mettons des 0 devant les codes départements à un chiffre
logement_par_dep[,1] <- as.character(logement_par_dep[,1])
for (i in 1:length(logement_par_dep[,1])){
if(nchar(logement_par_dep[i,1])==1){
logement_par_dep[i,1]=paste(c("0"),logement_par_dep[i,1],sep="")
}
}
# Nous renommons la première colonne
names(logement_par_dep)[1] <- c("CODE_DEPT")
# Carte
library(rgdal)
library(sp)
library(plotrix) # Créer des échelles de couleurs
library(classInt)
departement <- readOGR(dsn="F:/M2 MIMSE/Semestre 2/Projet informatique/DEPARTEMENT", layer="DEPARTEMENT")
departement2 <- merge(departement,logement_par_dep[,c(1,9)], 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")
View(frontiere_departement)
frontiere <- frontiere_departement[frontiere_departement$NATURE %in% 'Limite de département',]
europe <- readOGR(dsn="C:/Users/Pauline/Desktop/ne_110m_admin_0_countries", layer="ne_110m_admin_0_countries")
europe <- europe[europe$region_un=="Europe",]
col <- findColours(classIntervals(
departement2@data[,12], 100, style="quantile"),
smoothColors("white",98,"purple"))
# Légende
leg <- findColours(classIntervals(
round(departement2@data[,12]),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(departement2,col=col, border=col,lwd=.1, add=TRUE)
title(main = "Taux de logements vacants par département pour le premier tour")
legend("topright",fill=attr(leg, "palette"),
legend=names(attr(leg,"table")),
title = "% Logements vacants :", cex=0.7, lty=0.7)