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).
Diccionario de variables:
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
CloruroSodicotiene un valor máximo de 999, lo que suele representar valores ausentes.La variable
Alcoholtoma valores fuera del intervalo 0-100.La variable
Etiquetatiene más categorías de las que necesita debido al uso de mayúsculas y minúsculas.La variable
Clasificaciontiene valores representados por el símbolo ?, lo que también suele representar valores ausentes.
4. Corregir errores
Variable CloruroSodico
CloruroSodicoPara 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
AlcoholEn el caso de la variable Alcohol, vamos a declarar como NA los valores fuera de rango
Variable Etiqueta
EtiquetaFinalmente vamos a corregir los errores de escritura de la variable Etiqueta, para ello podemos usar la funcion recode() del paquete car
Variable Clasificacion
ClasificacionPara 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
