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
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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).