Page cover

Ejemplo de un análisis descriptivo básico para detectar errores e incongruencias

Pasos para la detección inicial de errores

Para este apartado vamos a utilizar el conjunto de datos "Wine Quality" utilizado en Cortez et al. (2009).

603KB
Open

Diccionario de variables:

Variable
Descripción

Id

Código identificativo del tipo de vino

Beneficio

Beneficio obtenido por la venta de ese tipo de vino

Compra

Variable dicotómica que toma valor 1 si se ha realizado algún pedido de ese tipo de vino, y 0, en caso contrario

Acidez

rango ilimitado de valores

Acidocitrico

rango ilimitado de valores

Azucar

Sólo valores positivos

Clorurosodico

rango ilimitado de valores

Densidad

Sólo valores positivos

Ph

Entre 4 y 10

Sulfatos

rango ilimitado de valores

Alcohol

Contenido de alcohol en %

Etiqueta

Percepción del diseño de la etiqueta (MM=muy mal, M=malo, R=regular, B=bueno, MB=muy bueno)

CalifProductor

Calificacion (entre 0 y 9, sin decimales) del vino según el productor

Clasificacion

Calsificacion obtenida por un equipo de expertos (toma 4 valores, siendo los extremos "****" = "excelente" y "+" = "pobre")

Region

Region de la que proviene (toma 3 valores distintos)

PrecioBotella

Precio por botella

1. Leer los datos

Lo primero que haremos es leer los datos. Seguidamente verificamos que los tipos de variables se hayan asignado correctamente con str()

2. Declarar bien las variables

No todas las variables categóricas han sido asignadas a factores, por lo que debemos modificarlo. Para ello usamos as.factor(). Podemos hacerlo en combinación con lapply() que nos permite aplicar la misma función a varios objetos.

3. Resumen de todas las variables para detectar bien los errores iniciales

Ahora podemos ver un resumen de todas las variables para poder detectar errores iniciales usando la función summary()

Con estos resultados, podemos analizar las variables del conjunto de datos y detectar errores que deben ser tratados posteriormente

Posibles errores en las variables:

  • La variable CloruroSodico tiene un valor máximo de 999, lo que suele representar valores ausentes.

  • La variable Alcohol toma valores fuera del intervalo 0-100.

  • La variable Etiqueta tiene más categorías de las que necesita debido al uso de mayúsculas y minúsculas.

  • La variable Clasificacion tiene valores representados por el símbolo ?, lo que también suele representar valores ausentes.

4. Corregir errores

Variable CloruroSodico

Para verificar si los valores 999 de la variable CloruroSodico son efectivamente ausentes, podemos representar su histograma

Queda claro que ese dato es erróneo, lo convertimos en NA

Variable Alcohol

En el caso de la variable Alcohol, vamos a declarar como NA los valores fuera de rango

Variable Etiqueta

Finalmente vamos a corregir los errores de escritura de la variable Etiqueta, para ello podemos usar la funcion recode() del paquete car

Variable Clasificacion

Para la variable Clasificacion vamos a recodificar ? por NA

Vamos a ver que efectivamente todos los errores se han corregido y guardamos el fichero corregido

Last updated