📊
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 2: Control de integridad de los datos

Ejemplo de detección y tratamiento de atípicos y duplicados

PreviousEjerciciosNextDetección de datos atípicos de forma Multivariante

Vamos a ver un ejemplo con la siguiente base de datos (CEREALES) que contiene datos sobre la composición de diferentes variedades de cereales:

Importamos la base de datos y miramos posibles errores e incongruencias

datos<-read.csv("CEREALES.csv")

str(datos)
summary(datos)

##Convertimos VARIEDAD en factor


datos$VARIEDAD<-factor(datos$VARIEDAD)

str(datos)

table(datos$VARIEDAD)

Primero haría un boxplot de todas las variables numéricas para ver si efectivamente hay datos atípicos y como son:


boxplot(datos)

Parece que en MANGANESO, FIBRA y SELENIO hay datos atípicos según el boxplot, pero seguramente estos datos atípicos me interese quitarlos o no según las relaciones que queramos buscar. En esta base de datos lo más seguro es que busquemos ver si hay diferencias de la composición entre las distintas variedades de cereal, así que que vamos a ver unos gráficos bivariados

Variable MANGANESO:

par(mfrow=c(1, 2))

boxplot(datos$MANGANESO,main="MANGANESO")

boxplot(datos$MANGANESO~datos$VARIEDAD,main="MANGANESO~VARIEDAD")
dev.off()



Los outliers que aparecían en el boxplot univariado, resulta que perteneces al cereal cebada que parece que tiene bajo contenido en manganeso. Lo que estamos viendo aquí en la variable MANGANESO no son datos atípicos sino una asociación estadística. Lo que si parece datos atípicos son los 3 que se van por arriba y esto además parece que son extremos, por tanto podríamos usar la definición de dato extremo para quitarlo:

##Primero lo comprobamos
extreme_values <- boxplot.stats(datos$MANGANESO,coef=3)$out  

ext_ind <- which(datos$MANGANESO %in% c(extreme_values))
extreme_values

##Después con la función propia outliers (con la definición de extremo) los borramos
outliers("datos$MANGANESO")

summary(datos$MANGANESO)

7KB
CEREALES.csv
Page cover image