R Espacial y el Tidyverso con Datos Censales 2020

En el presente artículo seguiré la línea del anterior (Integración de los Datos del Censo 2020 usando Python) con la diferencia de que ahora será con la plataforma de software R (https://cran.r-project.org/).

A lo largo de éste tutorial, te llevaré paso a paso en el proceso de instalación de las herramientas necesarias para que se pueda ejecutar el código mostrado.

A diferencia del código escrito en Python, el código de R logra realizar todo el proceso de integración de datos en 10 minutos, mientras que en Python tardó 3 horas. Debido a las características vectoriales del lenguaje.

En éste tutorial se vera la aplicación de conceptos básicos de programación funcional y el podrás tener un ejemplo práctico del uso de algunos paquetes del tidyverso (https://www.tidyverse.org/) y el trabajo con datos espaciales a través de el paquete sf (Simple Features for R).

Instalación de R y RStudio

Para ejecutar los scripts de este tutorial debemos instalar el intérprete R y la herramienta de desarrollo RStudio.

R: El primer paso para instalar el interprete del lenguaje R, el cual se descarga de: https://cran.r-project.org/bin/windows/base/

Descarga el intérprete de R e instálalo :)

Presiona siguiente a todo y permite que se instale:

Posteriormente es necesario instalar la herramienta RStudio Desktop la cual se descarga en : https://rstudio.com/products/rstudio/download/

Selecciona la versión adecuada para tu sistema operativo:

Procede a ejecutar el instalador realizando aceptando las opciones por defecto:

Listo, ahora tenemos todas las herramientas instaladas :)

Descarga el código de R

Para descargar el código de éste tutorial vamos al depósito del código github del autor: https://github.com/abxda/R-Mexico-Population-Census-2020

La forma mas fácil es presionar el botón verde y descargar el archivo ZIP

Se descarga un archivo con el código fuente en R:

Y descomprimir en una carpeta que será nuestro directorio de trabajo:

Ahí se encontrara el archivo Censo2020.R el cual vamos a abrir desde RStudio.

Abrir el código en RStudio

El primer paso es iniciar el programa RStudio desde la barra de tareas:

Dicho comando iniciará la herramienta RStudio. Una vez iniciada nos dirigimos al directorio creado en la sección anterior usando el botón ubicado a la derecha de la ventana de archivos, al presionarlo saldrá una ventana de navegación y nos dirigimos al directorio de trabajo:

Una vez ubicado en el directorio de trabajo se presiona el botón [Open]

Ahora hacemos click en el ícono del engrane y establecemos el directorio seleccionado como el directorio de trabajo:

Al presionar realizar la tarea anterior se ejecuta automáticamente el comando setwd(“D:/R-Mexico-Population-Census-2020”) en la consola de trabajo.

Ahora es posible hacer click en el archivo Censo2020.R para abrir el código y empezar a ejecutarlo.

Ejecutar el código de R

Instalar los paquetes necesarios

El primer paso es instalar los paquetes necesarios para que el código pueda funcionar correctamente:

A continuación aparecerá el siguiente mensaje en la consola:

Escribe la letra [a] en la consola y presiona [Enter] para que continúe la instalación:

Después de unos minutos concluye la instalación de paquetes de R. Lo cual demuestra las ventajas de éste lenguaje.

Selecciona y ejecuta el bloque de código indicado en la imagen de arriba. Dicho código carga dentro del ambiente de trabajo todas las funciones necesarias provenientes de los paquetes instalados.

Posteriormente se carga la función de apoyo y se crean los directorios necesarios para descargar y procesar la información del Censo de Población 2020.

Los directorios creados tendrán toda la información de trabajo:

Ahora se descargarán los datos con el siguiente bloque de código, un aspecto interesante a notar es que no se usan ciclos a través de comandos for o while cásicos en la programación estructurada.

En el bloque seleccionado abajo se puede ver que la función download_retry la cual es ejecutada secuencialmente mediante el apoyo de la función MAP, la cual recibe vectores de datos y ejecuta la descarga de todos los archivos que se listaron en el conjunto de datos construido líneas antes.

Siéntete libre de explorar el contenido de los DataFrames df_estado y df_states, lo cual te permitirá tener una intuición de la operación funcional de R y el Tidyverso.

En los bloques anteriores se descargan los datos estadísticos en formato CSV y los datos geográficos en formato SHP.

Ahora el siguiente paso es extraer la información necesaria de los archivos recientemente descargados:

El código anterior utiliza la misma técnica de construir los conjuntos de datos con los parámetros necesarios y extrae los vectores para realizar la tarea de llenar los directorios con los archivos CSV:

Así como los archivos SHP:

Por último ejecutamos la sección encargada de integrar los datos estadísticos y geográficos para crear capas de información estatal con todas las manzanas asociadas a la publicación del Censo de Población 2020 de México.

Además de realizar la unión de características estadísticas y geográficas el bloque de código también mide el tiempo que se tarda en realizarlo.

Carga de datos en QGIS

Ahora podemos instalar el sistema de información geográfico llamado QGIS https://www.qgis.org/es/site/:

Una vez instalado QGIS, es posible abrir cualquier estado de la republica, la cual tendrá asociados los datos estadísticos. Y se podrá elegir cualquier variable y usarla como base para visualizar las manzanas geográficas:

Visualización de la Población Total por manzana en la Ciudad de México

En este articulo pudimos ver el proceso de descarga, extracción e integración de datos con el lenguaje R, usando técnicas de programación funcional.

¡¡Gracias por Leerme!!

Abel Coronado

Aquí abajo el código de R utilizado:

https://gist.github.com/abxda/dfa281d21405f20a88b964ef7eedd92c

Father-Husband-Data Scientist-Philosopher-Entrepreneur-Professor PhD c. in Data Science-MSc Stats #R #Scala #Spark #SatelliteImagery #Python #BigData #Nerd

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store