dplyr::starwarsNA の処理
NA とは
- NA (Not Applicable or Not Available) : 欠損値
- 分析の邪魔になることも多い
- そのため、分析の際は欠損値が含まれる行を取り除きたい!
- 分析の邪魔になることも多い
NA の列がある行の除去
- tidyr::drop_na()
- 行の中で1つでもNAがあれば除去
- 引数に列名を指定すれば、その列においてNAがある行を全て除去
- それ以外の行でNAを含むかは考慮しない
例
- starwarsデータセット
- NA を含む行が存在
- tidyr::drop_na() の実行
dplyr::starwars |>
tidyr::drop_na() # NAを1つでも含む行を除去dplyr::starwars |>
tidyr::drop_na(hair_color) # hair_color列がNAの行を除去NA を別の値へ置き換え
- tidyr::replace_na( list(列名 = 置き換え後の値) )
- NAを指定した値に置換
- list()の中は複数定義可
- NAを指定した値に置換
例
dplyr::starwars |>
tidyr::replace_na(
list(hair_color = "unknown")
)- tidyr::fill(列名, .direction = “方向”)
- NAをその上 or 下の行の値に置換
- 方向は up (上の行へと反映させていく) か down (下の行へと反映させていく)
- 列名は複数並列可
- NAをその上 or 下の行の値に置換
例
dat <- tibble::tibble(
id = c(1, 2, 3, 4, 5, 6, 7, 8),
year = c(2020, NA, NA, NA, 2021, NA, NA, 2022),
value = c(100, 101, 102, 103, 104, 105, 106, 107),
)
datdat |>
tidyr::fill(year, .direction = "down")