📊
Depuración de Datos - TFG Estadistica
  • Declaración de autoría
  • Tema 1: Análisis Exploratorio de Datos
    • Tipos de variables
      • Ejercicios
    • Codificación y Transformación
      • Ejercicios
    • Gráficos y Tablas
      • Ejercicios
    • Ejemplo de un análisis descriptivo básico para detectar errores e incongruencias
  • Tema 2: Control de integridad de los datos
    • Detección y tratamiento de datos atípicos
      • Ejercicios
    • Detección de datos atípicos y su tratamiento (automatización)
    • Detección y tratamiento de duplicados
    • Ejercicios
    • Ejemplo de detección y tratamiento de atípicos y duplicados
    • Detección de datos atípicos de forma Multivariante
  • Tema 3: Valores perdidos
    • Detección de datos perdidos
    • Tratamiento de datos perdidos
    • PRACTICA 3
  • Tema 4: Evaluación de las hipótesis de partida para el análisis de datos
    • Pruebas de Normalidad
      • Ejercicios
  • Bibliografía
    • 📚Bibliografía
Powered by GitBook
On this page
  1. Tema 1: Análisis Exploratorio de Datos

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

PreviousEjerciciosNextDetección y tratamiento de datos atípicos

Last updated 1 year ago

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

Las variables son las siguientes:

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

#install.packages("readxl")

library(readxl)
datos<-read_excel("DatosVino.xlsx")

str(datos)

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.

datos[,c("Compra","Etiqueta","Clasificacion","Region")]<-
    lapply(datos[,c("Compra","Etiqueta","Clasificacion","Region")],as.factor)

str(datos)

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

summary(datos)

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

  • 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 Clasificacion tiene valores representados por el símbolo ?, lo que también suele representar valores ausentes.

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

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

hist(datos$CloruroSodico,xlab="CloruroSodico",main="")

datos$CloruroSodico<-replace(datos$CloruroSodico,datos$CloruroSodico==999,NA)

hist(datos$CloruroSodico,xlab="CloruroSodico",main="")

Para la variable Clasificacion vamos a usar la libreria questionr que contiene la funcion recode.na() para recodificar por NAs los valores de esa variable.

#install.packages("questionr")

library(questionr)

datos$Clasificacion<-recode.na(datos$Clasificacion,"?")

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

datos$Alcohol<-replace(datos$Alcohol,which((datos$Alcohol<0) | (datos$Alcohol>100)),NA)

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

datos$Etiqueta<-car::recode(datos$Etiqueta,"'b'='B';'m'='M';'mb'='MB';'mm'='MM';'r'='R'")

Vamos a ver que efectivamente todos los errores se han corregido

summary(datos)

#install.packages("writexl")

library(writexl)
write_xlsx(datos,"DatosVino_corregido.xlsx")
603KB
DatosVino.xlsx
Page cover image