# ============================================================
# Missing Values (NA)
# R Foundations — Rverse Analytics
# https://rverseanalytics.com/learn/missing-values
# ============================================================

# Real data has gaps, marked NA
head(airquality$Ozone, 10)
sum(is.na(airquality$Ozone))   # how many are missing?
# NA spreads: one gap makes the answer NA
mean(airquality$Ozone)               # NA
mean(airquality$Ozone, na.rm = TRUE) # ignore the gaps
# Keep only the complete rows
nrow(airquality)
nrow(na.omit(airquality))
sum(complete.cases(airquality))
# Or fill the gaps (here: with the median)
oz <- airquality$Ozone
oz[is.na(oz)] <- median(oz, na.rm = TRUE)
sum(is.na(oz))
