次のベクトルを考えてみましょうa
a <- c(NULL, 1, 2, "A", NULL, NA)
NULL
ベクトル内のの位置を特定しようとしています。ただし、NULL
は文字列ではありません。ベクトル内のsの位置を返すのis.null
と同じように機能しないのはなぜだろうか。is.na
NA
> is.na(a)
[1] FALSE FALSE FALSE TRUE
> is.null(a)
[1] FALSE
この関数is.null
は、オブジェクトが と同一であるかどうかをチェックするために使用されNULL
ます。値はベクトルのNULL
一部ではなく、「何もない」ものです。
したがって、ベクトルには s は含まれずNULL
、他の値のみが含まれます。
[1] "1" "2" "A" NA
ベクトルの作成に使用した に関する情報NULL
は失われ、取得できません。
NULLをベクトルのメンバーにすることはできず、リストのみにすることができます。NAは、ベクトル内の欠落データをマークするために使用されます。
NULLは、「これは未定義です」などの特殊なデータオブジェクトであり、未定義の値を持つ式や関数によって返されます。