Cómo eliminar valores atípicos de varias columnas en R

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

Actualizado el 7 de mayo de 2021, por Luis Benites.

A menudo, es posible que desee eliminar valores atípicos de varias columnas a la vez en R.

Una forma común de definir una observación como un valor atípico es si es 1,5 veces el rango intercuartílico mayor que el tercer cuartil (Q3) o 1,5 veces el rango intercuartílico menor que el primer cuartil (Q1).

Usando esta definición, podemos usar los siguientes pasos para crear una función simple para identificar valores atípicos y luego aplicar esta función en múltiples columnas en un marco de datos R.

Paso 1: crea un marco de datos.

Primero, creemos un marco de datos en R:

df <- data.frame (índice = c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 var1 = c (4, 4, 5, 4, 3, 2, 8, 9, 4, 5),
                 var2 = c (1, 2, 4, 4, 6, 9, 7, 8, 5, 29),
                 var3 = c (9, 9, 9, 5, 5, 3, 4, 5, 11, 34))

Paso 2: Defina la función de valor atípico.

A continuación, definamos una función que pueda identificar valores atípicos y una función que luego pueda eliminar valores atípicos:

valores atípicos <- función (x) {

  Q1 <- cuantil (x, probs = .25)
  Q3 <- cuantil (x, probs = .75)
  iqr = Q3-Q1

 límite_uperior = Q3 + (iqr * 1.5)
 límite_inferior = Q1 - (iqr * 1.5)

 x> límite_uperior | x <límite_inferior
}

remove_outliers <- función (df, cols = names (df)) {
  para (col en cols) {
    df <- df [! valores atípicos (df [[col]]),]
  }
  df
}

Paso 3: aplique la función de valor atípico al marco de datos.

Por último, apliquemos esta función en varias columnas del marco de datos para eliminar los valores atípicos:

remove_outliers (df, c ('var1', 'var2', 'var3'))

  índice var1 var2 var3
1 1 4 1 9
2 2 4 2 9
3 3 5 4 9
4 4 4 4 5
5 5 3 6 5
9 9 4 5 11

Puede encontrar más tutoriales de R aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

Si X e Y son dos variables aleatorias distribuidas conjuntamente , entonces la distribución condicional de Y dada X es…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!