R言語でデータフレームから欠損値NAを除外する方法について解説します。このような方法はいくつかあり、R言語に標準で搭載されている機能を使用した方法もありますが、ここではtidyverseパッケージに含まれているtidyrパッケージのdrop_na()を使用した方法についてお伝えします。drop_na()を使用する利点は、欠損値NAを除外するための基準となる列の指定方法が列選択を行う関数dplyr::select()での指定と同じように記載できることが挙げられます。

drop_na()の概要

drop_na()は、欠損値を含む行を削除する関数です。これは、…で指定された列に欠損値が含まれている行を削除します。

drop_na()の使い方

drop_na()の使い方は次になります。


drop_na(data, ...)

drop_na()の引数の意味

.data

データフレームを指定します。

tidy-selectが使用できます。欠損値を検査する列を指定します。空の場合、すべての列が使用されます。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

drop_na()を適用するデータフレームを準備します。


df <- data.frame(
    A = c("a", NA, "c", "d", "e"),
    B = c("A", "B", NA, NA, "E"),
    C = c(1, 2, 3, 4, 5)
  )

準備したデータフレームを確認します。


df |> head()

     A    B C
1    a    A 1
2 <NA>    B 2
3    c <NA> 3
4    d <NA> 4
5    e    E 5

引数なしの場合のdrop_na()

引数を指定しない場合のdrop_na()は、すべての列を対象にして、欠損値NAが含まれている行を除外します。


df |> drop_na()

  A B C
1 a A 1
2 e E 5

列名を指定する場合のdrop_na()

列名を指定した列を対象にして、欠損値NAが含まれている行を除外します。


df |> drop_na(A)

  A    B C
1 a    A 1
2 c <NA> 3
3 d <NA> 4
4 e    E 5
R入門 データフレームの欠損値を除外する方法