次のベクトルを考えてみましょうa
a <- c(NULL, 1, 2, "A", NULL, NA)
NULLベクトル内のの位置を特定しようとしています。ただし、NULLは文字列ではありません。ベクトル内のsの位置を返すのis.nullと同じように機能しないのはなぜだろうか。is.naNA
> 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は、「これは未定義です」などの特殊なデータオブジェクトであり、未定義の値を持つ式や関数によって返されます。