Tarea 1: Distribución de población de Montevideo

library (tidyverse)
## Warning: package 'tidyverse' was built under R version 4.0.5
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.3     v purrr   0.3.4
## v tibble  3.1.1     v dplyr   1.0.5
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.0.5
## Warning: package 'tibble' was built under R version 4.0.5
## Warning: package 'tidyr' was built under R version 4.0.5
## Warning: package 'readr' was built under R version 4.0.5
## Warning: package 'dplyr' was built under R version 4.0.5
## Warning: package 'forcats' was built under R version 4.0.5
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(readxl)
## Warning: package 'readxl' was built under R version 4.0.5
library (sf)
## Warning: package 'sf' was built under R version 4.0.5
## Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.1

A partir de datos censales 2011 descargados de la web del Instituto Nacional de Estadística (ine.gub.uy/web/guest/marcos-censales) se mapeará la distribución de la población según segmento censal (unidad geoestasdítica que resulta de la agrupación de manzanas) para poder observar también diferencias internas en los barrios.

marco2011 <- read_xlsx ("Marco_2011_con_barrio_y_Sec_pol.xlsx")
MapaSeg <- st_read ("ine_seg_11.shp", stringsAsFactors = TRUE)
## Reading layer `ine_seg_11' from data source 
##   `C:\Users\Usuario\Documents\Diplomatura\Ciencia_datos_ciudades\Datos_ciudades\Tareas\ine_seg_11.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 4313 features and 13 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 366582.2 ymin: 6127919 xmax: 858252.1 ymax: 6671738
## CRS:           NA
summary(marco2011)
##    CODCOMP              DPTO               SECC               SEGM          
##  Length:69737       Length:69737       Length:69737       Length:69737      
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##      ZONA               CODLOC        NOMDPTO             NOMLOC         
##  Length:69737       Min.   : 1020   Length:69737       Length:69737      
##  Class :character   1st Qu.: 3322   Class :character   Class :character  
##  Mode  :character   Median : 6220   Mode  :character   Mode  :character  
##                     Mean   : 8005                                        
##                     3rd Qu.:12621                                        
##                     Max.   :19971                                        
##      V_TOT           V_TOT_OC       V_TOT_DES          V_PAR       
##  Min.   :  0.00   Min.   :  0.0   Min.   :  0.00   Min.   :  0.00  
##  1st Qu.:  2.00   1st Qu.:  1.0   1st Qu.:  0.00   1st Qu.:  2.00  
##  Median : 13.00   Median :  9.0   Median :  1.00   Median : 13.00  
##  Mean   : 19.93   Mean   : 16.3   Mean   :  3.63   Mean   : 19.86  
##  3rd Qu.: 26.00   3rd Qu.: 22.0   3rd Qu.:  4.00   3rd Qu.: 26.00  
##  Max.   :661.00   Max.   :501.0   Max.   :568.00   Max.   :661.00  
##     V_PAR_OC         V_PAR_MA         V_PAR_DES           V_COL         
##  Min.   :  0.00   Min.   : 0.0000   Min.   :  0.000   Min.   : 0.00000  
##  1st Qu.:  1.00   1st Qu.: 0.0000   1st Qu.:  0.000   1st Qu.: 0.00000  
##  Median :  9.00   Median : 0.0000   Median :  1.000   Median : 0.00000  
##  Mean   : 16.26   Mean   : 0.2124   Mean   :  3.602   Mean   : 0.06689  
##  3rd Qu.: 22.00   3rd Qu.: 0.0000   3rd Qu.:  4.000   3rd Qu.: 0.00000  
##  Max.   :501.00   Max.   :44.0000   Max.   :568.000   Max.   :57.00000  
##     V_COL_OC          V_COL_DES            H_TOT            H_PAR       
##  Min.   : 0.00000   Min.   : 0.00000   Min.   :  0.00   Min.   :  0.00  
##  1st Qu.: 0.00000   1st Qu.: 0.00000   1st Qu.:  1.00   1st Qu.:  1.00  
##  Median : 0.00000   Median : 0.00000   Median :  9.00   Median :  9.00  
##  Mean   : 0.03806   Mean   : 0.02884   Mean   : 16.72   Mean   : 16.69  
##  3rd Qu.: 0.00000   3rd Qu.: 0.00000   3rd Qu.: 23.00   3rd Qu.: 23.00  
##  Max.   :20.00000   Max.   :48.00000   Max.   :505.00   Max.   :505.00  
##     H_PAR_MA           H_COL              P_TOT           P_TOT_HOM      
##  Min.   : 0.0000   Min.   : 0.00000   Min.   :   0.00   Min.   :   0.00  
##  1st Qu.: 0.0000   1st Qu.: 0.00000   1st Qu.:   1.00   1st Qu.:   1.00  
##  Median : 0.0000   Median : 0.00000   Median :  27.00   Median :  13.00  
##  Mean   : 0.2124   Mean   : 0.03648   Mean   :  47.12   Mean   :  22.62  
##  3rd Qu.: 0.0000   3rd Qu.: 0.00000   3rd Qu.:  66.00   3rd Qu.:  32.00  
##  Max.   :44.0000   Max.   :20.00000   Max.   :3381.00   Max.   :3381.00  
##    P_TOT_MUJ       P_TOT_PAR         P_HOM_PAR       P_MUJ_PAR     
##  Min.   :  0.0   Min.   :   0.00   Min.   :  0.0   Min.   :  0.00  
##  1st Qu.:  0.0   1st Qu.:   1.00   1st Qu.:  1.0   1st Qu.:  0.00  
##  Median : 14.0   Median :  27.00   Median : 13.0   Median : 13.00  
##  Mean   : 24.5   Mean   :  46.57   Mean   : 22.3   Mean   : 24.26  
##  3rd Qu.: 34.0   3rd Qu.:  65.00   3rd Qu.: 31.0   3rd Qu.: 34.00  
##  Max.   :590.0   Max.   :1042.00   Max.   :478.0   Max.   :576.00  
##     P_TOT_MA           P_HOM_MA          P_MUJ_MA         P_TOT_COL       
##  Min.   :  0.0000   Min.   : 0.0000   Min.   : 0.0000   Min.   :   0.000  
##  1st Qu.:  0.0000   1st Qu.: 0.0000   1st Qu.: 0.0000   1st Qu.:   0.000  
##  Median :  0.0000   Median : 0.0000   Median : 0.0000   Median :   0.000  
##  Mean   :  0.4907   Mean   : 0.2346   Mean   : 0.2562   Mean   :   0.552  
##  3rd Qu.:  0.0000   3rd Qu.: 0.0000   3rd Qu.: 0.0000   3rd Qu.:   0.000  
##  Max.   :145.0000   Max.   :80.0000   Max.   :65.0000   Max.   :3381.000  
##    P_HOM_COL          P_MUJ_COL          BARRIO85           COD_BARRIO    
##  Min.   :   0.000   Min.   :  0.0000   Length:69737       Min.   : 0.000  
##  1st Qu.:   0.000   1st Qu.:  0.0000   Class :character   1st Qu.: 0.000  
##  Median :   0.000   Median :  0.0000   Mode  :character   Median : 0.000  
##  Mean   :   0.315   Mean   :  0.2374                      Mean   : 6.339  
##  3rd Qu.:   0.000   3rd Qu.:  0.0000                      3rd Qu.: 0.000  
##  Max.   :3381.000   Max.   :389.0000                      Max.   :62.000  
##    SECPOL_10        CCZ10            CCZ04       
##  Min.   : 1.0   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 3.0   1st Qu.: 0.000   1st Qu.: 0.000  
##  Median : 8.0   Median : 0.000   Median : 0.000  
##  Mean   : 9.4   Mean   : 1.954   Mean   : 1.939  
##  3rd Qu.:14.0   3rd Qu.: 0.000   3rd Qu.: 0.000  
##  Max.   :27.0   Max.   :18.000   Max.   :18.000

El marco muestral descargado incluye la información de cada zona censal (en general asimilable a una manzana) de todo el país y contiene variables que indican cantidad de población (total, mujeres y varones), cantidad de viviendas (colectivas y particulares, ocupadas y desocupadas) y cantidad de hogares.

Al analizar la información de Montevideo es posible observar que la población media por zona es 97 personas, pero la población varía entre un máximo de 3381 personas y la mínima 0.

datos_mdeo <- filter (marco2011, DPTO =="01") 

summary (datos_mdeo)
##    CODCOMP              DPTO               SECC               SEGM          
##  Length:13606       Length:13606       Length:13606       Length:13606      
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##      ZONA               CODLOC       NOMDPTO             NOMLOC         
##  Length:13606       Min.   :1020   Length:13606       Length:13606      
##  Class :character   1st Qu.:1020   Class :character   Class :character  
##  Mode  :character   Median :1020   Mode  :character   Mode  :character  
##                     Mean   :1051                                        
##                     3rd Qu.:1020                                        
##                     Max.   :1900                                        
##      V_TOT           V_TOT_OC        V_TOT_DES           V_PAR       
##  Min.   :  0.00   Min.   :  0.00   Min.   :  0.000   Min.   :  0.00  
##  1st Qu.:  2.00   1st Qu.:  2.00   1st Qu.:  0.000   1st Qu.:  2.00  
##  Median : 26.00   Median : 24.00   Median :  1.000   Median : 26.00  
##  Mean   : 38.26   Mean   : 34.69   Mean   :  3.566   Mean   : 38.18  
##  3rd Qu.: 53.00   3rd Qu.: 48.00   3rd Qu.:  5.000   3rd Qu.: 53.00  
##  Max.   :636.00   Max.   :501.00   Max.   :248.000   Max.   :635.00  
##     V_PAR_OC         V_PAR_MA        V_PAR_DES           V_COL        
##  Min.   :  0.00   Min.   : 0.000   Min.   :  0.000   Min.   :0.00000  
##  1st Qu.:  2.00   1st Qu.: 0.000   1st Qu.:  0.000   1st Qu.:0.00000  
##  Median : 24.00   Median : 0.000   Median :  1.000   Median :0.00000  
##  Mean   : 34.62   Mean   : 0.805   Mean   :  3.554   Mean   :0.07996  
##  3rd Qu.: 48.00   3rd Qu.: 1.000   3rd Qu.:  5.000   3rd Qu.:0.00000  
##  Max.   :501.00   Max.   :43.000   Max.   :247.000   Max.   :7.00000  
##     V_COL_OC         V_COL_DES           H_TOT            H_PAR      
##  Min.   :0.00000   Min.   :0.00000   Min.   :  0.00   Min.   :  0.0  
##  1st Qu.:0.00000   1st Qu.:0.00000   1st Qu.:  2.00   1st Qu.:  2.0  
##  Median :0.00000   Median :0.00000   Median : 25.00   Median : 25.0  
##  Mean   :0.06754   Mean   :0.01242   Mean   : 35.86   Mean   : 35.8  
##  3rd Qu.:0.00000   3rd Qu.:0.00000   3rd Qu.: 50.00   3rd Qu.: 50.0  
##  Max.   :6.00000   Max.   :3.00000   Max.   :505.00   Max.   :505.0  
##     H_PAR_MA          H_COL             P_TOT           P_TOT_HOM      
##  Min.   : 0.000   Min.   :0.00000   Min.   :   0.00   Min.   :   0.00  
##  1st Qu.: 0.000   1st Qu.:0.00000   1st Qu.:   6.00   1st Qu.:   3.00  
##  Median : 0.000   Median :0.00000   Median :  76.00   Median :  36.00  
##  Mean   : 0.805   Mean   :0.06446   Mean   :  96.92   Mean   :  45.11  
##  3rd Qu.: 1.000   3rd Qu.:0.00000   3rd Qu.: 141.00   3rd Qu.:  66.00  
##  Max.   :43.000   Max.   :5.00000   Max.   :3381.00   Max.   :3381.00  
##    P_TOT_MUJ        P_TOT_PAR         P_HOM_PAR        P_MUJ_PAR     
##  Min.   :  0.00   Min.   :   0.00   Min.   :  0.00   Min.   :  0.00  
##  1st Qu.:  3.00   1st Qu.:   5.00   1st Qu.:  3.00   1st Qu.:  2.00  
##  Median : 40.00   Median :  75.00   Median : 36.00   Median : 40.00  
##  Mean   : 51.82   Mean   :  95.52   Mean   : 44.38   Mean   : 51.15  
##  3rd Qu.: 75.00   3rd Qu.: 139.00   3rd Qu.: 65.00   3rd Qu.: 74.00  
##  Max.   :590.00   Max.   :1042.00   Max.   :478.00   Max.   :576.00  
##     P_TOT_MA          P_HOM_MA          P_MUJ_MA        P_TOT_COL     
##  Min.   :  0.000   Min.   : 0.0000   Min.   : 0.000   Min.   :   0.0  
##  1st Qu.:  0.000   1st Qu.: 0.0000   1st Qu.: 0.000   1st Qu.:   0.0  
##  Median :  0.000   Median : 0.0000   Median : 0.000   Median :   0.0  
##  Mean   :  1.957   Mean   : 0.9258   Mean   : 1.031   Mean   :   1.4  
##  3rd Qu.:  2.000   3rd Qu.: 1.0000   3rd Qu.: 1.000   3rd Qu.:   0.0  
##  Max.   :145.000   Max.   :80.0000   Max.   :65.000   Max.   :3381.0  
##    P_HOM_COL         P_MUJ_COL          BARRIO85           COD_BARRIO   
##  Min.   :   0.00   Min.   :  0.0000   Length:13606       Min.   : 1.00  
##  1st Qu.:   0.00   1st Qu.:  0.0000   Class :character   1st Qu.:17.00  
##  Median :   0.00   Median :  0.0000   Mode  :character   Median :32.00  
##  Mean   :   0.73   Mean   :  0.6699                      Mean   :32.49  
##  3rd Qu.:   0.00   3rd Qu.:  0.0000                      3rd Qu.:48.00  
##  Max.   :3381.00   Max.   :389.0000                      Max.   :62.00  
##    SECPOL_10         CCZ10           CCZ04       
##  Min.   : 1.00   Min.   : 1.00   Min.   : 1.000  
##  1st Qu.:10.00   1st Qu.: 7.00   1st Qu.: 6.000  
##  Median :15.00   Median :10.00   Median :10.000  
##  Mean   :14.54   Mean   :10.02   Mean   : 9.938  
##  3rd Qu.:19.00   3rd Qu.:13.00   3rd Qu.:14.000  
##  Max.   :24.00   Max.   :18.00   Max.   :18.000

A continuación se presenta la división en segmentos censales de Montevideo. El shapefile es generado por el INE y está también disponible en su web.

ggplot(filter(MapaSeg, DEPTO=="1"))+
  geom_sf ()+
  labs (caption = "Fuente: INE") +
  theme_void()  

Para mapear la información sobre población por segmento censal primero es necesario modificar el archivo de datos censales de montevideo de forma de tenerinformación a agrupada a nivel de segmento censal.

datos_mdeo <- mutate (datos_mdeo, CODSEG=(substr (CODCOMP,1,7))) %>% ## genero variable única segmento censal par agrupar info
    mutate (CODSEG=as.integer(CODSEG))
segmentos_mdeo <- group_by (datos_mdeo, CODSEG) %>% ### genero base a nivel de CODSEG
  summarise (P_TOT= sum (P_TOT),
             P_TOT_HOM = sum (P_TOT_HOM), 
             P_TOT_MUJ = sum  (P_TOT_MUJ),
             V_TOT = sum (V_TOT),
             V_TOT_OC= sum (V_TOT_OC),
             V_TOT_DES= sum (V_TOT_DES))

Recorto también el shapefile para quedarme solo con el mapa de Montevideo.

Mapa_Mdeo_Seg <- filter (MapaSeg, DEPTO ==1)

En el siguiente gráfico es posible observar la cantidad de población por barrio de Montevideo. El más populoso es Pocitos, seguido de Cordón y Unión. Los que tienen menos cantidad de población son: Atahualpa, Bañados de Carrasco y Jacinto Vera.

ggplot (datos_mdeo)+
  geom_bar(aes(x=BARRIO85, weight=P_TOT, fill=NOMDPTO), show.legend = FALSE) +
  labs (title = "Cantidad de población por barrio - Censo 2011",
        x = "barrio",
        y = "cantidad",
        caption ="Fuente: Elaboración propia con base en INE Censos 2011")+
  coord_flip()+
  theme (axis.title = element_text(colour = "gray35",size = 8),
         axis.text.x = element_text(colour = "gray35",size = 6),
        axis.text.y = element_text(colour = "gray35",size = 6))+
  scale_fill_brewer(palette = "Set3")