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入門 データフレームの欠損値を除外する方法