r4ds_13_Missing values

library(dplyr)
library(tidyverse)

# 異常値を欠損値に置き換える
diamonds2 <- diamonds %>%
mutate(y = ifelse(y < 3 | y > 20, NA, y))

#欠損値ははじかれるが、警告が出る。
ggplot(data = diamonds2, mapping = aes(x = x, y = y)) +
geom_point()

#警告が出ないようにする
ggplot(data = diamonds2, mapping = aes(x = x, y = y)) +
geom_point(na.rm = TRUE)

#欠損値のあるなしで比較する
nycflights13::flights %>%
mutate(
cancelled = is.na(dep_time),
sched_hour = sched_dep_time %/% 100,
sched_min = sched_dep_time %% 100,
sched_dep_time = sched_hour + sched_min / 60
) %>%
ggplot(mapping = aes(sched_dep_time)) +
geom_freqpoly(mapping = aes(colour = cancelled), binwidth = 1/4)

Follow me!