R言語でデータフレームから欠損値NAを含む行のみを取得する方法をお伝えします。

準備

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


library(tidyverse)

説明のためのサンプルデータフレームを準備します。


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

欠損値NAを含む行のみを取得

データフレームから欠損値NAを含む行のみを取得するには次のようにします。


df |>
  filter(if_any(everything(), ~ is.na(.)))

     A    B C
1 <NA>    B 2
2    c <NA> 3
3    d <NA> 4

簡単に説明すると、filter()で行抽出を行い、if_any()で行に対する真偽を「または」でつなぎ、everything()ですべての列を対象にして、is.na()で列ごとに欠損値を判定しています。

R応用 データフレームから欠損値を含む行を取得する方法