ベクトルがNAのみかを判別する

R
Published

November 25, 2024

ベクトルがNAのみを含むかどうかを確認する方法です。 以下の2つの関数によりこれを実現します。 1. all() 2. is.na()

vector <- c(NA, NA, NA)
all(is.na(vector))
[1] TRUE

確認するベクトルにNAしかない場合はTRUEを返します。 NA以外が一つでも含まれると、FALSEを返します。

vector <- c(NA, 1, NA)
all(is.na(vector))
[1] FALSE

仕組み

is.na関数はNAならTRUE、それ以外ならFALSEを返します。

vector <- c(NA, 1, NA)
is.na(vector)
[1]  TRUE FALSE  TRUE

all関数はすべての要素がTRUEの場合にTRUEを返します。

vector <- c(TRUE, TRUE, TRUE)
all(vector)
[1] TRUE

一つの要素でもTRUEではない場合はFALSEを返します。

vector <- c(TRUE, FALSE, TRUE)
all(vector)
[1] FALSE

まとめると、 1. is.na関数ですべてNAなら要素すべてがTRUEになり、 2. all関数でTRUEを一つ返す ということになります。

すべての要素がNAかどうかを確認する場合自体があまりありませんが、考え方自体は他の要素の確認の場合にも役立つかもしれませんね。

Back to top