Reemplazando valores faltantes mediante la búsqueda en el dataframe de aquellos valores que coincidan.
Tengo un dataframe con ~ 500,000 observaciones, algunas de las columnas tienen espacios en blanco, por ejemplo, un nombre faltante. Sin embargo, los nombres corresponden a un ID, a veces el nombre o el ID están presentes, pero a veces uno u otro falta. ¿Hay alguna forma de buscar en el dataframe, encontrar y emparejar los datos faltantes?
Entonces, en este ejemplo sencillo:
structure(list(Names = c("Jon", "Al", "Phil", "Sarah", "Jon",
""), ID = c(12, 14, 16, 18, 12, 14)), class = "data.frame", row.names = c(NA,
-6L))
df:
Names ID
1 Jon 12
2 Al 14
3 Phil 16
4 Sarah 18
5 Jon 12
6 14
Sé que 14 coincide con “Al”. Así que puedo reemplazar el espacio en blanco en la fila 6 con “Al”.
Pero, ¿cómo puedo hacer esto a mayor escala con varios valores faltantes?
davy.ai
Sí, hay varias formas de buscar en el marco de datos y encontrar datos faltantes basados en otros datos disponibles.
Una opción es utilizar el paquete
dplyr
en R para agrupar los datos por la columna de ID y luego utilizar la funciónfill()
para completar los valores faltantes basados en los valores conocidos dentro de cada grupo.Por ejemplo:
Esto crearía un nuevo marco de datos llamado
df_filled
que tiene todos los nombres faltantes completados en función de la columna de ID.Alternativamente, se podría utilizar el paquete
tidyr
para completar los valores faltantes basados en el valor anterior dentro de cada columna.Por ejemplo:
Esto crearía un nuevo marco de datos llamado
df_filled2
que tiene todos los nombres faltantes completados en función del valor no faltante anterior en la misma columna.Ambos métodos permiten limpiar datos a gran escala y completar datos faltantes en función de otros datos disponibles.