Introducción

La apertura de datos ha dado pie a actividades y propuestas a las que se invita a la comunidad datera a investigar e indagar datos, que pueden abarcar múltiples temas, por ejemplo: economía, paridad de género, movilidad, o finanzas públicas. 

Estos ejercicios permiten crear un puente entre las entidades públicas, ciudadanía y la sociedad civil para proponer soluciones a distintas problemáticas, así como para identificar las posibles áreas de mejora para las fuentes de información.

Este post tiene el objetivo darte algunas ideas de cómo analizar el gasto público con datos abiertos y visualizar los resultados.

¿Qué vamos a aprender?

  • ¿Cómo elegir una base de datos correctamente?
  • ¿Cómo presentar un proyecto de investigación?
  • ¿Cómo visualizar para crear impacto?

¿Qué herramientas vamos a usar?

  • RStudio
  • Conocimientos básicos de tidyverse

 0.  ¿Qué nos interesa estudiar?

¿Te has preguntado con quién contrata créditos el gobierno? ¿Son bancas privadas? ¿En qué tiempo se comprometen a pagarlo?

Para responder estas preguntas utilizaremos los datos del portal de datos abiertos de la Ciudad de México, enfocándonos en la información sobre deuda de la ciudad. Ahí encontraremos tanto la base de datos como el diccionario de variables y las descargamos.

1. Consultar diccionario de datos y selección de variables

Dentro de la información que contienen los metadatos de un conjunto de datos, es el diccionario de datos dentro del cual se enlistan y describen los campos y atributos. 

En este sentido, en el set de datos con el que vamos a trabajar encontraremos las definiciones de cada variable. Desde este momento, podremos ubicar las variables que nos ayuden a responder los objetivos de investigación. En este caso nos interesan las variables año, acreedor, número de registro, inicio del crédito, fin del crédito.

Una vez seleccionadas las variables, crearemos un objeto derivado del original que contenga únicamente la información que nos interesa. 

A continuación puedes observar la importación del set de datos y la selección de columnas.

2. Validación y limpieza de datos

Recordemos que para el análisis de datos debemos primero validar la información, es decir, cerciorarnos que los valores de cada variable tengan sentido y corresponda a la definición que se describe en el diccionario. Posteriormente, será necesario limpiar los datos con el objetivo de tenerlos en un formato homogéneo.

De esta manera, en el set de datos con el que trabajaremos requiere en primera instancia descartar las observaciones que tengan como fecha de inicio una fecha posterior a la fecha del fin de crédito, lo anterior daría cuenta de una observación no válida.

En este caso para el proceso de validación y homogeneización se deben de cambiar de formato las variables que reflejan las fechas, ya que se encuentran guardadas como caracteres y se requieren en formato de fechas.

A continuación se muestra el código para cambiar el formato de las variables mencionadas; este cambio se sobreescribe en objeto tempo:

3. Análisis

Una de las preguntas que planteamos inicialmente fue saber con qué bancos privados ha contraído deuda el gobierno de la Ciudad de México.

Para este efecto tomaremos el objeto tempo (creado previamente), seleccionando las variables sobre el acreedor y el monto inicial del crédito, con la función group_by agruparemos las filas de todo el objeto, que en conjunto con la función mutate, se creará una variable llamada deuda_bancos, que es el resultado de sumar la variable disposicion_inicial_credito de acuerdo a cada categoría encontrada en la variable de agrupación, de igual manera crearemos otra variable que se llame total_bancos con la función n() que contará el número de filas que tenga cada banco.

Por último no incluiremos la variable disposicion_inicial_credito, dentro del objeto deuda_bancos.

4. Visualización

Una de las mejores visualizaciones para hacer comparaciones son las gráficas de barras, y resultan más comprensibles cuando se les coloca un texto indicando su altura, claro, siempre que sea legible. Para hacer lo anterior utilizaremos la función ggplot, en la  dibujaremos, a partir del dataframe deuda_bancos

Con la función geom_bar dibujaremos una gráfica de barras en la que en el eje de las X se encuentren los acreedores y en el eje de las Y el total de la deuda. En la construcción de esta gráfica debemos de tener en cuenta que las funciones reorder, que ordenará el eje X en función de otra variable, que es total_bancos, así como la función fill, que indica que cada barra de rellenará con la variable acreedor.

En cuanto la función geom_label es para colocar etiquetas de texto, igualmente el eje de la X tendrá la variable acreedor, en el eje Y la variable deuda_bancos, y el texto será lo que venga en total_bancos.

Por útlimo la función labs es para colocar el título del gráfico, así como nombres a ambos ejes.

El resultado será la siguiente visualización: