Capítulo7 Transformación: Valores Faltantes
## [1] "2025-08-27"
Fecha de la ultima revisión
7.1 Valores faltantes
- NA: Not Available
7.2 Contabilizar los NA
- ¿Cuántos vuelos tienen datos faltantes en horario_salida?
- ¿Qué otras variables tienen valores faltantes?
- ¿Qué representan estas filas?
## .
## FALSE TRUE
## 328521 8255
7.3 Seleccionar solamente los vuelos donde el “horario de salida” es desconocido
vuelos %>%
dplyr::select(anio, mes, dia, horario_salida, aerolinea) |>
filter(is.na(horario_salida))
## # A tibble: 8,255 × 5
## anio mes dia horario_salida aerolinea
## <int> <int> <int> <int> <chr>
## 1 2013 1 1 NA EV
## 2 2013 1 1 NA AA
## 3 2013 1 1 NA AA
## 4 2013 1 1 NA B6
## 5 2013 1 2 NA EV
## 6 2013 1 2 NA EV
## 7 2013 1 2 NA EV
## 8 2013 1 2 NA EV
## 9 2013 1 2 NA EV
## 10 2013 1 2 NA AA
## # ℹ 8,245 more rows
7.4 Otras funciones: NA
- na.rm=TRUE
- !is.na() = is not NA, pq al frente tiene “!”
## # A tibble: 327,346 × 19
## anio mes dia horario_salida salida_programada atraso_salida
## <int> <int> <int> <int> <int> <dbl>
## 1 2013 1 1 517 515 2
## 2 2013 1 1 533 529 4
## 3 2013 1 1 542 540 2
## 4 2013 1 1 544 545 -1
## 5 2013 1 1 554 600 -6
## 6 2013 1 1 554 558 -4
## 7 2013 1 1 555 600 -5
## 8 2013 1 1 557 600 -3
## 9 2013 1 1 557 600 -3
## 10 2013 1 1 558 600 -2
## # ℹ 327,336 more rows
## # ℹ 13 more variables: horario_llegada <int>, llegada_programada <int>,
## # atraso_llegada <dbl>, aerolinea <chr>, vuelo <int>, codigo_cola <chr>,
## # origen <chr>, destino <chr>, tiempo_vuelo <dbl>, distancia <dbl>,
## # hora <dbl>, minuto <dbl>, fecha_hora <dttm>
## # A tibble: 365 × 4
## # Groups: anio, mes [12]
## anio mes dia mean
## <int> <int> <int> <dbl>
## 1 2013 1 1 11.4
## 2 2013 1 2 13.7
## 3 2013 1 3 10.9
## 4 2013 1 4 8.97
## 5 2013 1 5 5.73
## 6 2013 1 6 7.15
## 7 2013 1 7 5.42
## 8 2013 1 8 2.56
## 9 2013 1 9 2.30
## 10 2013 1 10 2.84
## # ℹ 355 more rows
## # A tibble: 365 × 4
## # Groups: anio, mes [12]
## anio mes dia mean
## <int> <int> <int> <dbl>
## 1 2013 1 1 11.5
## 2 2013 1 2 13.9
## 3 2013 1 3 11.0
## 4 2013 1 4 8.95
## 5 2013 1 5 5.73
## 6 2013 1 6 7.15
## 7 2013 1 7 5.42
## 8 2013 1 8 2.55
## 9 2013 1 9 2.28
## 10 2013 1 10 2.84
## # ℹ 355 more rows
Reemplazar los NA por “0” en el archivo de datos
datos_NA=c(1:8, NA, 10:20)
datos_NA=as.data.frame(datos_NA)
#datos_NA %>% # Cual es el problema de replace_na(datos_NA, 0) para los analisis?
# mutate(Prom_cum=cummean(replace_na(datos_NA, 0))) %>%
# mutate(Var_cum=cumstats::cumvar(replace_na(datos_NA, 0)))
Remover las filas que tienen NA con la función drop_na()
#datos_NA %>%
# drop_na() |>
# mutate(Prom_cum=cummean(datos_NA)) %>%
# mutate(Var_cum=cumstats::cumvar(datos_NA))