Inciso 7

Considerando la division (cut) por cuantiles, representar en un mapa el porcentaje de poblacion con al menos una carencia social.

mapa_rep<-readOGR("C:\\Users\\richa\\OneDrive - CIDE\\1er Semestre-DESKTOP-RPQUJJA\\Manejo de bases de datos\\Actividad 4", layer="republica",encoding = "UTF-8")
## OGR data source with driver: ESRI Shapefile 
## Source: "C:\Users\richa\OneDrive - CIDE\1er Semestre-DESKTOP-RPQUJJA\Manejo de bases de datos\Actividad 4", layer: "republica"
## with 32 features
## It has 3 fields
datos12 <- mapa_rep@data

datos12$Carencia <- read_excel("C:\\Users\\richa\\OneDrive - CIDE\\1er Semestre-DESKTOP-RPQUJJA\\Manejo de bases de datos\\Actividad 4\\Coneval.xlsx", 
                      sheet= 7, 
                      range= anchored("F4", dim = c(32,1)), 
                      col_names = FALSE, na = "*")
## New names:
## * `` -> ...1
red_rep_car <- datos12[,c(1,4)]

mapa_rep@data$Carencia <- datos12$Carencia

Se generan los cuantiles:

cut(mapa_rep@data$Carencia$...1,4)
##  [1] (24.7,30.1] (30.1,35.4] (24.7,30.1] (19.4,24.7] (19.4,24.7] (30.1,35.4]
##  [7] (14.1,19.4] (19.4,24.7] (19.4,24.7] (19.4,24.7] (24.7,30.1] (19.4,24.7]
## [13] (24.7,30.1] (24.7,30.1] (14.1,19.4] (30.1,35.4] (19.4,24.7] (30.1,35.4]
## [19] (19.4,24.7] (24.7,30.1] (14.1,19.4] (30.1,35.4] (19.4,24.7] (24.7,30.1]
## [25] (30.1,35.4] (24.7,30.1] (24.7,30.1] (19.4,24.7] (14.1,19.4] (19.4,24.7]
## [31] (19.4,24.7] (24.7,30.1]
## Levels: (14.1,19.4] (19.4,24.7] (24.7,30.1] (30.1,35.4]

Se genera el mapa con los cuantiles y una paleta de colores:

my_colors_rep_car <- brewer.pal(5, "Purples")
my_colors_rep_car <- colorRampPalette(my_colors_rep_car)(4)
cuantil_rep_car <- cut(mapa_rep@data$Carencia$...1,4)
my_colors_rep_car <- my_colors_rep_car[as.numeric(cuantil_rep_car)]
plot(mapa_rep, col=my_colors_rep_car, bg = "white")

Se agrega la leyenda para identificar los cuantiles:

my_colors_rep_car <- brewer.pal(5, "Purples")
my_colors_rep_car <- colorRampPalette(my_colors_rep_car)(4)
cuantil_rep_car <- cut(mapa_rep@data$Carencia$...1,4)
my_colors_rep_car <- my_colors_rep_car[as.numeric(cuantil_rep_car)]
plot(mapa_rep, col=my_colors_rep_car, bg = "white")

texto_rep_car <- c("14.1%-19.4%", "19.4%-24.7%", "24.7%-30.1%", "30.1%-35.4%")
legend("topright",texto_rep_car, cex = .5, bty = "o", 
       col = c("#CBC9E2", "#9E9AC8", "#756BB1", "#54278F"), 
       pch = 19)

Para hacerlo interactivo:

textos_rep_car <- paste(
  "Estado : ",mapa_rep$NOMGEO ,"<br/>",
  "% Pob. con 1 carencia o mas: ", round(mapa_rep$Carencia$...1 ,2) ) %>% lapply(htmltools::HTML)

cortes_rep_car <- c(0,14.1,19.4,24.7,30.1,35.4,Inf)
colores_rep_car <- colorBin( palette="Purples", domain=mapa_rep$Carencia , na.color="transparent", bins=cortes_rep_car) 

leaflet(data=mapa_rep) %>% 
  addTiles() %>% 
  addPolygons(label = textos_rep_car,fillColor = colores_rep_car(mapa_rep$Carencia$...1),
              fillOpacity = 0.9)