Cómo imputar valores perdidos en R (con ejemplos)

A menudo, es posible que desee reemplazar los valores faltantes en las columnas de un marco de datos en R con la media o la mediana de esa columna en particular.

Para reemplazar los valores faltantes en una sola columna, puede utilizar la siguiente sintaxis:

df $ col [ is.na (df ​​$ col)] <- mean (df $ col, na.rm = TRUE )

Y para reemplazar los valores faltantes en varias columnas, puede utilizar la siguiente sintaxis:

para (i en 1: ncol (df)) {
  gl [, i] [ is.na (gl [, i])] <- media (gl [, i], na.rm = VERDADERO )
}

Este tutorial explica exactamente cómo utilizar estas funciones en la práctica.

Ejemplo 1: Reemplazar valores perdidos con medias de columna

El siguiente código muestra cómo reemplazar los valores faltantes en la primera columna de un marco de datos con el valor medio de la primera columna:

#create marco de datos
df <- data.frame (var1 = c (1, NA, NA, 4, 5),
                 var2 = c (7, 7, 8, 3, 2),
                 var3 = c (3, 3, 6, 6, 8),
                 var4 = c (1, 1, 2, 8, 9))

# reemplace los valores faltantes en la primera columna con la media de la primera columna 
df $ var1 [ is.na (df ​​$ var1)] <- mean (df $ var1, na.rm = TRUE )

# Ver marco de datos con valores perdidos reemplazados
df

      var1 var2 var3 var4
1 1.000000 7 3 1
2 3.333333 7 3 1
3 3.333333 8 6 2
4 4.000000 3 6 8
5 5.000000 2 8 9

El valor medio en la primera columna fue 3.333 , por lo que los valores faltantes en la primera columna fueron reemplazados por 3.333 .

El siguiente código muestra cómo reemplazar los valores faltantes en cada columna con la media de su propia columna:

#create marco de datos
df <- data.frame (var1 = c (1, NA, NA, 4, 5),
                 var2 = c (7, 7, 8, NA, 2),
                 var3 = c (NA, 3, 6, NA, 8),
                 var4 = c (1, 1, 2, 8, 9))

# reemplace los valores faltantes en cada columna con las medias de las columnas 
para (i en 1: ncol (df)) {
  gl [, i] [ is.na (gl [, i])] <- media (gl [, i], na.rm = VERDADERO )
}

# Ver marco de datos con valores perdidos reemplazados
df

      var1 var2 var3 var4
1 1,000000 7 5,666667 1
2 3.333333 7 3.000000 1
3 3.333333 8 6.000000 2
4 4.000000 6 5.666667 8
5 5.000000 2 8.000000 9

Ejemplo 2: Reemplazar valores perdidos con medianas de columna

El siguiente código muestra cómo reemplazar los valores faltantes en la primera columna de un marco de datos con el valor mediano de la primera columna:

#create marco de datos
df <- data.frame (var1 = c (1, NA, NA, 4, 5),
                 var2 = c (7, 7, 8, NA, 2),
                 var3 = c (NA, 3, 6, NA, 8),
                 var4 = c (1, 1, 2, 8, 9))

# reemplace los valores faltantes en la primera columna con la mediana de la primera columna 
df $ var1 [ is.na (df ​​$ var1)] <- median (df $ var1, na.rm = TRUE )

# Ver marco de datos con valores perdidos reemplazados
df

  var1 var2 var3 var4
1 1 7 NA 1
2 4 7 3 1
3 4 8 6 2
4 4 NA NA 8
5 5 2 8 9

El valor mediano en la primera columna fue 4 , por lo que los valores faltantes en la primera columna se reemplazaron por 4 .

El siguiente código muestra cómo reemplazar los valores faltantes en cada columna con la mediana de su propia columna:

#create marco de datos
df <- data.frame (var1 = c (1, NA, NA, 4, 5),
                 var2 = c (7, 7, 8, NA, 2),
                 var3 = c (NA, 3, 6, NA, 8),
                 var4 = c (1, 1, 2, 8, 9))

# reemplace los valores faltantes en cada columna con medianas de columna 
para (i en 1: ncol (df)) {
  gl [, i] [ is.na (gl [, i])] <- mediana (gl [, i], na.rm = VERDADERO )
}

# Ver marco de datos con valores perdidos reemplazados
df

  var1 var2 var3 var4
1 1 7 6 1
2 4 7 3 1
3 4 8 6 2
4 4 7 6 8
5 5 2 8 9

Recursos adicionales

Cómo recorrer los nombres de las columnas en R
Cómo calcular la media de varias columnas en R
Cómo sumar columnas específicas en R

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

Deja un comentario

A menudo, es posible que desee sumar los valores de algún conjunto de datos en Hojas de cálculo de Google…
statologos comunidad-2

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

You have Successfully Subscribed!