En este artículo, discutiremos cómo imputar valores faltantes en el lenguaje de programación R.
En la mayoría de los conjuntos de datos, pueden faltar valores porque no se ingresaron o debido a algún error. Reemplazar estos valores faltantes con otro valor se conoce como imputación de datos. Hay varias formas de imputación. Los más comunes incluyen reemplazar con el valor promedio, mínimo o máximo en esa columna/característica. Diferentes conjuntos de datos y características requerirán un tipo de método de imputación. Por ejemplo, considerando un conjunto de datos de rendimiento de ventas de una empresa, si la pérdida de características tiene valores faltantes, sería más lógico reemplazar un valor mínimo.
Conjunto de datos en uso:
Imputar una columna
Método 1 : Imputación manual con valor medio
Vamos a imputar los valores faltantes de una columna de datos, es decir, marcas1 con el valor medio de toda esta columna.
Sintaxis:
media(x, ajuste = 0, na.rm = FALSO, …)
Parámetro:
- x – cualquier objeto
- trim – observaciones que se recortarán de cada extremo de x antes de que se calcule la media
- na.rm – FALSO para eliminar valores NA
Ejemplo: imputación de valores faltantes
R
# create a adataframe data <- data.frame(marks1 = c(NA, 22, NA, 49, 75), marks2 = c(81, 14, NA, 61, 12), marks3 = c(78.5, 19.325, NA, 28, 48.002)) # impute manually data$marks1[is.na(data$marks1)] <- mean(data$marks1, na.rm = T) data
Producción:
Método 2 : usar la biblioteca Hmisc e imputar con el valor de la mediana
Usando la función imputar() dentro de la biblioteca Hmisc, imputemos las marcas de columna2 de datos con el valor medio de esta columna completa.
Ejemplo: imputar valores faltantes
R
# install and load the required packages install.packages("Hmisc") library(Hmisc) # create a adataframe data <- data.frame(marks1 = c(NA, 22, NA, 49, 75), marks2 = c(81, 14, NA, 61, 12), marks3 = c(78.5, 19.325, NA, 28, 48.002)) # fill missing values of marks2 with median impute(data$marks2, median)
Producción:
Método 3: imputar con un valor constante específico
Usando la función imputar() dentro de la biblioteca Hmisc, imputemos las marcas de columna2 de datos con un valor constante.
Ejemplo: imputar valores faltantes
R
# install and load the required packages install.packages("Hmisc") library(Hmisc) # create a adataframe data <- data.frame(marks1 = c(NA, 22, NA, 49, 75), marks2 = c(81, 14, NA, 61, 12), marks3 = c(78.5, 19.325, NA, 28, 48.002)) # impute with a specific number # replace NA with 2000 impute(data$marks3, 2000)
Producción:
Impute todo el conjunto de datos:
Esto se puede hacer imputando el valor de la mediana de cada columna con NA utilizando la función apply().
Sintaxis:
aplicar (X, MARGEN, DIVERSIÓN, …)
Parámetro:
- X: una array, incluida una array
- MARGEN – un vector
- FUN – la función a aplicar
Ejemplo: imputar todo el conjunto de datos
R
# create a adataframe data <- data.frame(marks1 = c(NA, 22, NA, 49, 75), marks2 = c(81, 14, NA, 61, 12), marks3 = c(78.5, 19.325, NA, 28, 48.002)) # getting median of each column using apply() all_column_median <- apply(data, 2, median, na.rm=TRUE) # imputing median value with NA for(i in colnames(data)) data[,i][is.na(data[,i])] <- all_column_median[i] data
Producción:
Publicación traducida automáticamente
Artículo escrito por saaiswethasret y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA