El presente trabajo es una propuesta metodológica para estimar e identificar las áreas precarias o vulnerables urbanas de Argentina. Se basa en el análisis de la información del Censo Nacional de Población, Hogares y Vivienda realizado por INDEC en 2010.

Análisis de la definición internacional de “Asentamiento Precario”: de acuerdo con ONU-Hábitat [https://unhabitat.org/es/node/3140], la oficina de la Organización de las Naciones Unidas, las siguientes cinco características definen a los asentamientos precarios:

Las condiciones abordadas en la definición de Naciones Unidas pueden ser agrupadas en tres grandes dimensiones de precariedad:

Vinculación de la definición con datos nacionales (Censo Nacional de Población, Hogares y Vivienda - 2010): A los efectos del presente trabajo, se tomaron como punto de partida las tres dimensiones señaladas y se las asociaron con nueve indicadores del Censo 2010. Los indicadores asociados a cada dimensión son presentados en la siguiente figura:

Dimensiones e indicadores asociados

A los efectos de identificar los radios censales que presentan condiciones de precariedad urbana, se definieron umbrales asociados a la concentración de hogares viviendo en condiciones precarias para cada uno de los 9 indicadores.

Se definieron umbrales determinados por la media y desvíos estándar. Tal como refleja la figura presentada a continuación, se clasificaron los distintos radios censales de acuerdo a 3 niveles de precariedad: alta, media o baja.

Niveles de precariedad

1. Librerias

knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
## -- Attaching packages ------------------------------------------------------------------------------------------------------ tidyverse 1.3.0 --
## v ggplot2 3.3.0     v purrr   0.3.4
## v tibble  3.0.3     v dplyr   0.8.5
## v tidyr   1.1.0     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.5.0
## Warning: package 'tibble' was built under R version 4.0.2
## -- Conflicts --------------------------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(readr)
library(readxl)
library(sf)
## Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
library(tmap)
## Warning: package 'tmap' was built under R version 4.0.3
library(sp)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(knitr)

tmap_mode("view")
## tmap mode set to interactive viewing

2. Radios Censales INDEC 2010

radios <- read_csv("~/Trabajos/Procesamiento_R/input/Radios.csv", col_types = cols(link = col_character())) %>%
  mutate(Link=link) %>%
  mutate(Poblacion=totalpobl) %>%
  mutate(Hogares=hogares)%>%
  select(Link,Hogares,Poblacion, Provincia)


radios_urbanos_deptos <- read_csv("~/Trabajos/Procesamiento_R/Construccion_Indicadores_dimensiones/input/radios_urbanos.csv", 
                           col_types = cols(X1 = col_skip()))
## Warning: Missing column names filled in: 'X1' [1]
radios_urbanos <- radios_urbanos_deptos %>% 
  left_join(., radios) %>% 
  distinct(Link, .keep_all = TRUE )
## Joining, by = "Link"
radios_3857 <- st_read('~/Trabajos/Procesamiento_R/shapes/Radios_POSGARF3.shp') %>% 
  select(link)
## Reading layer `Radios_POSGARF3' from data source `C:\Users\danie\Documents\Trabajos\Procesamiento_R\shapes\Radios_POSGARF3.shp' using driver `ESRI Shapefile'
## Simple feature collection with 52408 features and 14 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: 2952780 ymin: 3898419 xmax: 4740998 ymax: 7592423
## projected CRS:  POSGAR_2007_Argentina_3
radios_3857 <- left_join(radios_3857,radios_urbanos, by=c('link'='Link')) %>% 
  filter(Urb_Si_No=='Urbano') %>% select(link, Urb_Si_No, Provincia ) %>% 
  st_transform(3857)
CALMAT <- read_delim("~/Trabajos/Procesamiento_R/input/CALMAT.csv", 
                     ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   Link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   C4 = col_double(),
##   Total = col_double()
## )
CALMAT_critico <- CALMAT %>%
  mutate(prom_C3_C4=(((C3+C4)/(Total)*100))) %>%
  mutate(criticidad_CALMAT=case_when(prom_C3_C4<mean(prom_C3_C4)~"Bajo", prom_C3_C4> (sd (prom_C3_C4)+mean(prom_C3_C4))~"Alto", TRUE ~ "Medio")) %>%
  mutate(Hogares_CALMAT_critico=C3+C4) %>% 
  select(Link,Hogares_CALMAT_critico,criticidad_CALMAT)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

CALMAT_geo <- left_join(radios_3857,CALMAT_critico, by=c('link'='Link')) %>%
  filter(criticidad_CALMAT=='Alto') %>% 
  as.data.frame() 

CALMAT_Ranking <-CALMAT_geo %>%
  group_by(Provincia) %>%
  summarise(Total =sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(CALMAT_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 1734
TUCUMAN 493
SALTA 451
CHACO 394
SANTA FE 309

DIMENSIÓN HACINAMIENTO

3.2 Hacinamiento Crítico

hacinamiento <- read_delim("~/Trabajos/Procesamiento_R/input/Hacinamiento.csv", 
                           ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   Link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   C4 = col_double(),
##   C5 = col_double(),
##   C6 = col_double(),
##   Total = col_double()
## )
hacinamiento_critico <- hacinamiento %>%
  mutate(prom_C6=(((C6)/(Total)*100))) %>%
  mutate(criticidad_hacinamiento=case_when(prom_C6<mean(prom_C6)~"Bajo", prom_C6> (sd (prom_C6)+mean(prom_C6))~"Alto", TRUE ~ "Medio"))  %>%
  mutate(Hogares_hacinamiento_critico=C6) %>% 
  right_join(radios_urbanos, by=c("Link")) %>%
  select(Link,Hogares_hacinamiento_critico,criticidad_hacinamiento)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

hacinamiento_geo <- left_join(radios_3857,hacinamiento_critico, by=c('link'='Link')) %>%
  filter(criticidad_hacinamiento=='Alto')%>% 
  as.data.frame()

hacinamiento_Ranking <-hacinamiento_geo %>%
  group_by(Provincia) %>%
  summarise(Total =sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(hacinamiento_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 2006
CORDOBA 337
SALTA 317
SANTA FE 258
CHACO 245

DIMENSIÓN INFRAESTRUCTURA SANITARIA

3.3 Acceso al Agua Crítico

accesoagua <- read_delim("~/Trabajos/Procesamiento_R/input/Acceso_Agua.csv", 
                          ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   Total = col_double()
## )
accesoagua_critico <- accesoagua %>%
  mutate(Link=link) %>% 
  mutate(prom_C2_C3=(((C2+C3)/(Total)*100))) %>%
  mutate(criticidad_accesoagua=case_when(prom_C2_C3<mean(prom_C2_C3)~"Bajo", prom_C2_C3> (sd (prom_C2_C3)+mean(prom_C2_C3))~"Alto", TRUE ~ "Medio"))  %>% 
  mutate(Hogares_accesoagua_critico=C2+C3) %>% 
  right_join(radios_urbanos,by=c("Link")) %>%
  select(Link,Hogares_accesoagua_critico,criticidad_accesoagua)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

 accesoagua_geo <- left_join(radios_3857,accesoagua_critico, by=c('link'='Link')) %>%
   filter(criticidad_accesoagua=='Alto')%>%
  as.data.frame()


accesoagua_Ranking <-accesoagua_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(accesoagua_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 2113
CHACO 391
FORMOSA 245
SALTA 232
SANTIAGO DEL ESTERO 231

3.4 Desagüe del Inodoro Crítico

desinnodoro <- read_delim("~/Trabajos/Procesamiento_R/input/Desinnodoro.csv", 
                          ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   C4 = col_double(),
##   Total = col_double()
## )
desinnodoro_critico <- desinnodoro %>%
  mutate(Link=link) %>% 
  mutate(prom_C3_C4=(((C3+C4)/(Total)*100))) %>%
  mutate(criticidad_desinodoro=case_when(prom_C3_C4<mean(prom_C3_C4)~"Bajo", prom_C3_C4> (sd (prom_C3_C4)+mean(prom_C3_C4))~"Alto", TRUE ~ "Medio")) %>%
  mutate(Hogares_desinnodoro_critico=C3+C4) %>% 
  right_join(radios_urbanos,by=c("Link")) %>%
  select(Link,Hogares_desinnodoro_critico,criticidad_desinodoro)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

desinnodoro_geo <- left_join(radios_3857,desinnodoro_critico, by=c('link'='Link')) %>%
  filter(criticidad_desinodoro=='Alto') %>% 
  as.data.frame()

desinnodoro_Ranking <-desinnodoro_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(desinnodoro_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 3926
SANTA FE 774
CHACO 308
MISIONES 248
TUCUMAN 240

3.5 Provición de Agua Crítico

provagua <- read_delim("~/Trabajos/Procesamiento_R/input/Provagua.csv", 
                       ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   Link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   C4 = col_double(),
##   C5 = col_double(),
##   C6 = col_double(),
##   Total = col_double()
## )
provagua_critico <- provagua %>%
  mutate(prom_C4_C5_C6=(((C4+C5+C6)/(Total)*100))) %>%
  mutate(criticidad_provagua=case_when(prom_C4_C5_C6<mean(prom_C4_C5_C6)~"Bajo", prom_C4_C5_C6> (sd (prom_C4_C5_C6)+mean(prom_C4_C5_C6))~"Alto", TRUE ~ "Medio"))  %>% 
  mutate(Hogares_provagua_critico=C4+C5+C6)%>%
  right_join(radios_urbanos,by=c("Link")) %>%
  select(Link,Hogares_provagua_critico,criticidad_provagua)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

provagua_geo <- left_join(radios_3857,provagua_critico, by=c('link'='Link')) %>%
  filter(criticidad_provagua=='Alto') %>% 
  as.data.frame()

provagua_Ranking <-provagua_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)


kable(head(provagua_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 768
MISIONES 202
CHACO 177
CORDOBA 124
FORMOSA 100

3.6 Baño Exclusividad Crítico

banoexclusivo <- read_delim("~/Trabajos/Procesamiento_R/input/banoexclusivo.csv", 
                            ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   link = col_character(),
##   C1 = col_double(),
##   C2 = col_double(),
##   Total = col_double()
## )
banoexclusivo_critico <- banoexclusivo %>%
  mutate(Link=link) %>% 
  mutate(prom_C2=(((C2)/(Total)*100))) %>%
  mutate(criticidad_banoexclusivo=case_when(prom_C2<mean(prom_C2)~"Bajo", prom_C2> (sd (prom_C2)+mean(prom_C2))~"Alto", TRUE ~ "Medio"))%>%
  mutate(Hogares_banoexclusivo_critico=C2) %>% 
  right_join(radios_urbanos,by=c("Link")) %>%
  select(Link,Hogares_banoexclusivo_critico,criticidad_banoexclusivo)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

banoexclusivo_geo <- left_join(radios_3857,banoexclusivo_critico, by=c('link'='Link')) %>% 
   filter(criticidad_banoexclusivo=='Alto') %>% 
as.data.frame()


banoexclusivo_Ranking <-banoexclusivo_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(banoexclusivo_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 1167
CABA 626
SALTA 444
TUCUMAN 306
JUJUY 258

3.7 Limpieza de Baño Crítico (Disponibilidad de cadena, mochila botón para limpieza de inodoro)

limbano <- read_delim("~/Trabajos/Procesamiento_R/input/Limbano.csv", 
                      ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   link = col_character(),
##   `S<ed>` = col_double(),
##   No = col_double(),
##   Total = col_double()
## )
limbano_critico <- limbano %>%
  mutate(Link=link) %>% 
  mutate(prom_C2=(((No)/(Total)*100))) %>%
  mutate(criticidad_limbano=case_when(prom_C2<mean(prom_C2)~"Bajo", prom_C2> (sd (prom_C2)+mean(prom_C2))~"Alto", TRUE ~ "Medio")) %>%
  mutate(Hogares_limbano_critico=No) %>% 
  right_join(radios_urbanos, by=c("Link")) %>%
  select(Link,Hogares_limbano_critico,criticidad_limbano)
## Warning in env_bind_impl(env, dots$named): unable to translate 'S<ed>' to native
## encoding

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

limbano_geo <- left_join(radios_3857,limbano_critico, by=c('link'='Link')) %>%
  filter(criticidad_limbano=='Alto') %>% 
  as.data.frame()


limban_Ranking <-limbano_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(limban_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 2661
CHACO 373
SANTA FE 258
MISIONES 229
FORMOSA 220

3.8 Tenencia de Baño Crítico

tenenciabano <- read_delim("~/Trabajos/Procesamiento_R/input/tenenciabano.csv", 
                           ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   link = col_character(),
##   `S<ed>` = col_double(),
##   No = col_double(),
##   Total = col_double()
## )
tenenciabano_critico <- tenenciabano %>%
  mutate(Link=link) %>% 
  mutate(prom_C2=(((No)/(Total)*100))) %>%
  mutate(criticidad_tenenciabano=case_when(prom_C2<=mean(prom_C2)~"Bajo", prom_C2>= (sd (prom_C2)+mean(prom_C2))~"Alto", TRUE ~ "Medio")) %>%
  mutate(Hogares_tenenciabano_critico=No) %>% 
  right_join(radios_urbanos, by=c("Link")) %>%
  select(Link,Hogares_tenenciabano_critico,criticidad_tenenciabano)
## Warning in env_bind_impl(env, dots$named): unable to translate 'S<ed>' to native
## encoding

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

tenenciabano_geo <- left_join(radios_3857,tenenciabano_critico, by=c('link'='Link')) %>%
  filter(criticidad_tenenciabano=='Alto') %>% 
  as.data.frame()


tenenciabano_Ranking <-tenenciabano_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(tenenciabano_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 1022
CHACO 365
MISIONES 234
SALTA 233
TUCUMAN 212

3.9 Tenencia irregular de la vivienda Crítico

tenenciairregular <- read_delim("~/Trabajos/Procesamiento_R/input/tenenciairregular.csv", 
                                ";", escape_double = FALSE, trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   Link = col_character(),
##   Provincia = col_double(),
##   C1 = col_double(),
##   C2 = col_double(),
##   C3 = col_double(),
##   C4 = col_double(),
##   C5 = col_double(),
##   C6 = col_double(),
##   Total = col_double()
## )
tenenciairregular_critico <- tenenciairregular %>%
  mutate(prom_C2_C4_C6=(((C2+C4+C6)/(Total)*100))) %>%
  mutate(criticidad_tenenciairregular=case_when(prom_C2_C4_C6<=mean(prom_C2_C4_C6)~"Bajo", prom_C2_C4_C6>= (sd (prom_C2_C4_C6)+mean(prom_C2_C4_C6))~"Alto", TRUE ~ "Medio")) %>%
  mutate(Hogares_tenenciairregular_critico=C2+C4+C6) %>% 
  right_join(radios_urbanos, by=c("Link")) %>%
  select(Link,Hogares_tenenciairregular_critico,criticidad_tenenciairregular)

Visualización de las cinco (5) Provincias con mayor cantidad de radios censales críticos

tenenciairregular_geo <- left_join(radios_3857,tenenciairregular_critico, by=c('link'='Link')) %>%
  filter(criticidad_tenenciairregular=='Alto') %>% 
  as.data.frame()


tenenciairregular_Ranking <-tenenciairregular_geo %>%
  group_by(Provincia) %>%
  summarise(Total = sum(n())) %>%
  arrange(desc(Total)) %>%
  head(5)

kable(head(tenenciairregular_Ranking), format = "markdown")
Provincia Total
BUENOS AIRES 1505
SANTA FE 346
CHACO 289
TUCUMAN 288
CABA 239

Union de indicadores

indicadores <- left_join (radios_3857, CALMAT_critico, by=c('link'='Link')) %>% 
  left_join (hacinamiento_critico,by=c('link'='Link')) %>% 
  left_join (accesoagua_critico,by=c('link'='Link')) %>% 
  left_join (desinnodoro_critico, by=c('link'='Link')) %>% 
  left_join (provagua_critico,by=c('link'='Link')) %>% 
  left_join (banoexclusivo_critico,by=c('link'='Link')) %>% 
  left_join (limbano_critico,by=c('link'='Link')) %>% 
  left_join (tenenciabano_critico,by=c('link'='Link')) %>% 
  left_join (tenenciairregular_critico,by=c('link'='Link')) 
indicadores_geo <- indicadores %>% 
  filter(criticidad_tenenciairregular=='Alto'|
           criticidad_tenenciabano=='Alto'|
           criticidad_limbano=='Alto'|
           criticidad_banoexclusivo=='Alto'|
           criticidad_provagua=='Alto'|
           criticidad_desinodoro=='Alto'|
           criticidad_accesoagua=='Alto'|
         criticidad_hacinamiento=='Alto'|
         criticidad_CALMAT=='Alto')
         
         
indicadores_geo_Ranking <-indicadores_geo %>% 
  group_by(Provincia) %>% 
  summarise(n = n()) %>% 
  arrange(desc(n)) %>% 
  head(5)

indicadores_geo_Ranking <- c(indicadores_geo_Ranking$Provincia)

indicadores_geo <- filter (indicadores_geo, Provincia %in% indicadores_geo_Ranking)


tm_shape(indicadores_geo) +
    tm_borders(col = "maroon", alpha = 0.5)+
  tm_polygons(popup.vars=c("Criticidad de CALMAT"="criticidad_CALMAT",
                           'Criticidad en hacinamiento'='criticidad_hacinamiento',
                           'Criticidad en acceso al agua'='criticidad_accesoagua',
                           'Criticidad en desagüe del inodoro'='criticidad_desinodoro',
                           'Criticidad en provisión de agua'='criticidad_provagua',
                           'Criticidad en exclisividad de baño'='criticidad_banoexclusivo',
                           'Criticidad en limpieza de baño'='criticidad_limbano',
                           'Criticidad en tenencia de baño'='criticidad_tenenciabano',
                           'Criticidad en tenencia de la vivienda' ='criticidad_tenenciairregular',
                           'Provincia'='Provincia'))
## Warning: One tm layer group has duplicated layer types, which are omitted. To
## draw multiple layers of the same type, use multiple layer groups (i.e. specify
## tm_shape prior to each of them).