LOGEMENTS VACANTS PAR DEPARTEMENT

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)