La imputación del valor faltante es uno de los pasos más comunes de preparación de datos. Es fácil contar el número de valores perdidos en cada variable usando la función sapply().
12sapply(dat, function(x) sum(is.na(x)))
{r}
Salida:
1234Estado civil Dependientes Is_ingreso de grado Monto del préstamo 0 2 2 0 0 Termino_meses Crédito_puntuación aprobación_estado Edad Sexo 0 0 0 6 5
Hay varias técnicas para manejar los valores perdidos. La más utilizada es la sustitución de los valores por la medida de la tendencia central. La primera línea de código de abajo reemplaza los valores faltantes de la variable Edad con la mediana de los valores restantes. La segunda línea reemplaza los valores faltantes de la variable Is_graduado con el valor de $00271$0027, lo que indica que el estado de educación del solicitante es graduado. Las dos últimas líneas imprimen las estadísticas resumidas de las variables.
12345dat$Age[is.na(dat$Age)] <- median(dat$Age, na.rm = TRUE)dat$Is_graduado[is.na(dat$Is_graduado)] <- 1sumario(dat$Age)tabla(dat$Is_graduado)
{r}
Salida:
123456Min. 1er Qu. Media de la media 3er Qu. Max. 22.00 36.00 50.50 50.61 64.00 80.00 0 1 130 470
El tratamiento de los valores perdidos es completo para ambas variables. Los datos también tienen una variable, Sexo, con cinco valores perdidos. Dado que es una variable categórica, comprobaremos la distribución de las etiquetas, lo que se hace en la línea de código de abajo.
1 tabla(dat$Sex)
{r}
Salida:
12 F M 111 484
La salida muestra que 484 de 595 solicitantes son hombres, así que sustituiremos los valores que faltan por la etiqueta M. La primera línea de código de abajo realiza esta tarea, mientras que la segunda línea imprime la distribución de la variable. La salida muestra 600 registros para la variable Sexo, indicando que los valores faltantes han sido imputados.
12dat$Sex[is.na(dat$Sex)]] <- "M "table(dat$Sex)
{r}
Salida:
12Modo de clase de longitud 600 caracteres
Ahora comprobaremos si hay más valores perdidos con la línea de código de abajo. La salida muestra que todavía tenemos dos valores perdidos en la variable Dependientes.
1sapply(dat, function(x) sum(is.na(x)))
{r}
Salida:
1234Estado civil Dependientes Is_ingreso de grado Monto del préstamo 0 2 0 0 0 0 Plazo_meses Puntaje de crédito aprobación_estado Edad Sexo 0 0 0 0 0
Quedan dos valores perdidos en el conjunto de datos, y usaremos otro enfoque para tratar los valores perdidos dejando caer los registros. La primera línea de código de abajo utiliza la función complete.cases() para soltar las filas con cualquier valor que falte en ellas, mientras que la segunda línea comprueba la información sobre los valores que faltan en el conjunto de datos. La tercera línea imprime la dimensión resultante de los datos.
123dat = dat[completo.casos(dat), ]sapply(dat, función(x) suma(is.na(x)))dim(dat)
{r}
Salida:
123456789 Estado civil Dependientes Is_graduate Income Loan_amount 0 0 0 0 0 0 Term_months Credit_score approval_status Age Sex 0 0 0 0 0 0 LogIncome 0 [1] 598 10