Limpiar datos
Hasta este punto, hemos adquirido experiencia en el análisis de datos en un contexto ideal, donde solo ha habido que descargar conjuntos de datos predefinidos y realizar transformaciones de sus variables, resúmenes estadísticos y visualizaciones para obtener la información deseada. Desgraciadamente, la realidad del trabajo de un analista de datos es considerablemente más compleja. Según Dasu & Johnson (2003), el tiempo dedicado al análisis de datos acostumbra a representar solo un 20 % del total de trabajo, mientras que casi el 80 % de la tarea se concentra en la limpieza y preparación de los datos. Es por este motivo que en este módulo pondremos en práctica la importante tarea de limpiar los datos.
En primera instancia, es fundamental entender qué significa que un conjunto de datos esté “limpio” (o limpiado). Para tal propósito, volveremos a recordar la definición de Wickham (2014), que ya se ha expuesto anteriormente en otro módulo. Un conjunto de datos es una colección de valores que tiene las siguientes características:
- Cada valor pertenece a una observación y una variable.
- Una observación contiene todos los valores medidos en la misma unidad (como una persona, un país, un partido político) entre atributos.
- Una variable contiene todos los valores que miden el mismo atributo subyacente (la ubicación ideológica, la riqueza o el grado de polarización) entre unidades.
En caso de que no se cumpla cualquiera de estas características, los datos se consideran sucios (messy data). Y solo cuando los datos cumplen todas las características, se puede considerar que los datos están limpios (tidy data). Como analistas, debemos procurar que los datos estén siempre lo más limpios posible. De la definición anterior, se derivan tres supuestos por los que los datos pueden ser sucios:
- Los datos se encuentran desordenados cuando las observaciones no se encuentran en las filas o las variables no se encuentran en las columnas.
- Algunos datos se encuentran perdidos porque algunos valores no tienen datos o bien estos valores presentan problemas.
- Los datos que se tienen que analizar están separados en varios conjuntos de datos.
Veamos un ejemplo (tabla 1) donde se incumplen estos tres supuestos de tidy data, partiendo de la base de que nos gustaría analizar conjuntamente los datos del PIB per cápita y el idioma de algunos países de la Unión Europea. En primer lugar, estos datos están desordenados porque las observaciones no están en las filas y las variables no están en las columnas. En la subtabla a, gdpcap
es un valor y debería ser una variable, mientras que en la subtabla b los países están ubicados como nombres de columnas y deberían ser valores de la variable country
. En segundo lugar, hay datos perdidos. En la subtabla a no tenemos información del PIB per cápita de Alemania y en la b no aparece el idioma de la República Checa. Y finalmente, los datos están separados porque querríamos tener toda la información recogida en un único conjunto de datos, pero por ahora no los tenemos unidos.
country | code | data | values |
---|---|---|---|
French Republic | FR | gdpcap | 43518 |
Federal Republic of Germany | DE | gdpcap | NA |
Czech Republic | CZ | gdpcap | 26378 |
data | France | Germany | Czechia |
---|---|---|---|
cowc | FRN | GMY | CZR |
lang | French | German | NA |
Tabla 1: PIB per cápita e idioma en países europeos
En este módulo exploraremos las tres etapas fundamentales de la limpieza de datos. Empezaremos con una visión detallada de los retos asociados a los datos desordenados, presentando varios ejemplos ilustrativos, además de las herramientas y funciones que agilizan la tarea de la ordenación. Seguidamente, conoceremos más acerca de qué son los datos perdidos, aprenderemos las razones de su existencia y la manera de proceder con ellos. Finalmente, aprenderemos a unir conjuntos de datos. Por eso, conoceremos la noción de las columnas clave, los puntos de unión que nos permiten conectar datos fácilmente.