Codificación y Transformación
Last updated
Last updated
Como ya hemos visto brevemente en el capítulo de tipos de variables, normalmente los datos de un archivo necesitarán ser cuidadosamente preparados antes de poder aplicar, con las mínimas garantías, cualquier análisis estadístico.
La preparación del archivo de datos incluye desde la simple detección y corrección de los posibles errores cometidos al introducir los datos, hasta sofisticadas transformaciones, pasando por la recodificación de los códigos utilizados para los valores de una o más variables, o la creación de nuevas variables a partir de otras ya existentes.
Para ilustrar esta parte, vamos a leer la siguiente base de datos:
Ahora tendremos que comprobar que los datos se han leído correctamente y no tienen errores
El nombre de las columnas debe tener un nombre consistente. Las dos palabaras que corresponden a la columnas: Student.ID, Full.Name y favourite.food están separadas por un . y mealPlan se diferencia por una mayúscula. Además todas están en minúsculas y AGE en mayúsculas. Para evitar futuros errores, los nombres deberán ser consistentes.
Clasificar las variables en cuantitativas y cualitativas y declararlas de forma correcta
Asegurarnos que los NA se han leído correctamente: Columna Favourite_food tiene un N/A que no está detectado como dato "missing" y un vacío en Age
Asegurarnos que no hay valores incorrectos: En la variable Age, una de las observaciones tiene "five" en vez del número, esto nos causará problemas a la hora de usar dicha variable como variable numérica como hemos visto al declararla con as.numeric()
.
En ocasiones nos puede interesar incorporar nuevas variables a nuestra base de datos, como ya vimos con la creación de la variable edad
Ejemplo: Para este ejemplo vamos a utilizar el dataset TiposDatos.csv
Aprovechamos para hacer un brese repaso de los tipos de variables y control de errores
Cuando una base de datos contiene la fecha de nacimiento, es mucho más útil generar la edad, más fácil de interpretar, analizar como variable en si misma y manejar numéricamente:
Podemos querer crear una variable en la base de datos TiposDatos.csv que se llame índice de masa corporal que se obtiene de la siguiente forma:
Esta opción suele ser muy habitual ya que muchas veces queremos trabajar con las categorías de una variable en vez de la variable cuantitativa.
Ejemplo: La variable cuantitativa IMC que acabamos de crear se suele usar en cuatro grupos:
bajo peso: IMC <= 18.50
normal: 18.5 < IMC <=25
sobrepeso: 25 < IMC <= 30
obesidad: IMC >30
En realidad buscamos los siguientes tramos de IMC: (minimo, 18.5], (18.5, 25], (25, 30], (30, máximo]
¿Cuántas personas tenemos en cada uno de los grupos?
Nos puede interesar trabajar de forma diferente sobre una de las variables que ya tenemos
Ejemplo: Queremos ver la probabilidad de estar casado o de tener un determinado peso si la persona tiene más de 40 años o menos y queremos poder predecir dicha variable, para aplicar en este caso una regresión logística necesitaremos tener una variable codificada como: 0 (<40), 1 (>=40). Esto con el comando if_else()
del paquete dplyr
es muy fácil:
¿Qué tipo de variable es Edad2Cat?
Es una variable cualitativa que toma dos categorías: 0 (<40), 1 (>=40)
Es una buena práctica recodificar siempre en distintas variables para no perder información.
Ahora es tu turno: Realiza los siguientes ejercicios:
Ejercicio: Codificación y Transformación