En nuestro artículo de Medium te contamos brevemente qué son los Radios Censales, cómo están construidos y qué información tenemos disponible. En este artículo te vamos a mostrar cómo trabajar con información geográfica en R y nuestro ejemplo serán, precisamente, los radios censales.
Lo primero que vamos a tener que hacer es descargar el archivo “shapefile” del territorio con el que vamos a trabajar. La fuente oficial en la Argentina es el Instituto Nacional de Estadística y Censos de la República Argentina (INDEC) y podemos acceder a ellos a través de la siguiente página. Para este tutorial vamos a trabajar con datos de la Provincia de Córdoba, por lo tanto vamos a descargar el siguiente archivo:
https://www.indec.gov.ar/ftp/cuadros/territorio/codgeo/Codgeo_Cordoba_con_datos.zip
Una vez que lo hemos descargado, vamos a abrir el archivo utilizando el paquete sf
1.
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("tidyverse")
# install.packages("sf")
# Carga de los paquetes a utilizar
library(tidyverse)
library(sf)
# Abriendo el shp
radios.cordoba <- st_read("../Datos/Codgeo_Cordoba_con_datos/", layer = "Cordoba_con_datos")
## Reading layer `Cordoba_con_datos' from data source `/Users/lauti/Google Drive/Lauti/Proyectos/03.Accesibilidad/Datos/Codgeo_Cordoba_con_datos' using driver `ESRI Shapefile'
## Simple feature collection with 4752 features and 8 fields
## geometry type: POLYGON
## dimension: XY
## bbox: xmin: 3521762 ymin: 6124005 xmax: 3898182 ymax: 6736174
## epsg (SRID): NA
## proj4string: +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +units=m +no_defs
Cuando cargamos el archivo geográfico, vemos el siguiente mensaje en la consola. ¿Qué significan cada una de las lineas?:
Simple feature collection with 4752 features and 8 fields
: estamos abriendo un dataset que contiene 4752 filas y 8 columnas.geometry type: MULTIPOLYGON
: los archivos con información geográfica contienen colecciones de puntos, de líneas, o de polígonos y sus respectivas versiones “múltiples”: múltiples puntos, líneas o polígonos Los Radios Censales son múltiples polígonos.dimension: XY
: es la cantidad de dimensiones con las que se está trabajando, en este caso, dos. Si hubiese tres dimensiones, sería XYZ.bbox: xmin: 3521762 ymin: 6124005 xmax: 3898182 ymax: 6736174
: bbox es la simplificación para “bounding box”, una caja delimitadora. Estos valores son la latitud mínima, la longitud mínima, la latitud máxima y la longitud máxima del conjunto de datosepsg (SRID): NA
y proj4string: +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +units=m +no_defs
: nos brindan información referida al sistema de coordenadas de referencia (Coordinate Reference System (CRS)).Como vemos en el punto anterior, epsg (SRID):
es NA
. Por lo tanto, lo que se debe hacer es transformarlo al mismo CRS que vamos a utilizar a lo largo del trabajo EPSG: 4326 y para ello vamos a utilizar la función st_transform()
.
radios.cordoba <- st_transform(radios.cordoba, crs = 4326)
La primer aproximación a este dataset debería ser ver que datos tiene:
# Exploración inicial de datos
summary(radios.cordoba)
## toponimo_i link varon mujer
## Min. :286803 140070101: 1 Min. : 0.0 Min. : 0.0
## 1st Qu.:315083 140070102: 1 1st Qu.: 198.0 1st Qu.: 218.0
## Median :316310 140070103: 1 Median : 334.0 Median : 369.0
## Mean :312347 140070104: 1 Mean : 337.8 Mean : 358.5
## 3rd Qu.:317835 140070105: 1 3rd Qu.: 455.2 3rd Qu.: 489.0
## Max. :336422 140070106: 1 Max. :2483.0 Max. :1622.0
## (Other) :4746
## totalpobl hogares viviendasp viv_part_h
## Min. : 0.0 Min. : 0.0 Min. : 2.0 Min. : 0.0
## 1st Qu.: 419.8 1st Qu.:145.0 1st Qu.: 194.0 1st Qu.:138.0
## Median : 703.0 Median :229.5 Median : 269.0 Median :218.0
## Mean : 696.3 Mean :217.1 Mean : 259.3 Mean :205.9
## 3rd Qu.: 944.0 3rd Qu.:293.0 3rd Qu.: 339.0 3rd Qu.:277.0
## Max. :3273.0 Max. :850.0 Max. :1172.0 Max. :707.0
##
## geometry
## POLYGON :4752
## epsg:4326 : 0
## +proj=long...: 0
##
##
##
##
Aquí vemos que el archivo radios.cordoba
tiene las siguientes variables:
toponimo_i
: Identificación única propia del archivolink
: ID del Radio Censalvaron
: cantidad de varones en dicho radio censalmujer
: cantidad de mujeres en dicho radio censaltotalpobl
: población totalhogares
: cantidad total de hogaresviviendasp
: total de viviendas particularesviv_part_h
: total de viviendas particulares habitadasgeometry
: información geográfica que utiliza R para hacer la visualización del mapa.El siguiente paso será visualizar los radios censales de la Provincia de Córdoba. Para dicha tarea hay una gran variedad de paquetes en R que responden a distintas necesidades. Nosotros vamos a utilizar el paquete ggplot2
para las visualizaciones estáticas (preferible, por ejemplo, para la elaboración de informes impresos) y el paquete leaflet
para las visualizaciones dinámicas (preferible para la exploración interactiva).
Vayamos primero con ggplot2
:
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("ggplot2")
# Carga de los paquetes a utilizar
library(ggplot2)
ggplot() + geom_sf(data = radios.cordoba) +
labs(title = "Radios Censales de la Provincia de Córdoba",
subtitle = "Fuente: INDEC")
Lo primero que se puede ver a simple vista es el contorno de la Provincia de Córdoba. Lo segundo que se puede apreciar es el tamaño dispar de muchos de los radios censales, concentrándose los más pequeños alrededor de las ciudades y los más extensos en el medio del campo. La desventaja es que si como analistas queremos explorar un área con mayor detenimiento, deberíamos usar algún paquete interactivo, como leaflet
.
# Instalamos los paquetes si no están instalados en nuestras computadoras
# install.packages("leaflet")
# Carga de los paquetes a utilizar
library(leaflet)
leaflet() %>%
addTiles() %>%
addProviderTiles("CartoDB.Positron") %>%
# Mapeando los poligonos de Cordoba
addPolygons(data = radios.cordoba,
color = "grey", weight = 1, smoothFactor = 0.5,
opacity = 1.0)