[R] NA, NaN, NULL

NULL, NaN, NA

この3つの予約語はいずれも非存在(不在、欠損)を表すRの予約語である。紛らわしいがRでは違う意味を持っており使い分けられる。

予約語意味
NANot Availableの略。欠損値を表す。

データファイルなどを読みこんだ際に欠損値であるセルにNAが割り当てられる。

値を割り当てずにオブジェクト(ベクトルなど)を拡張した際に、拡張された要素にNAが割り当てられる。

NaNNot a Numberの略。非数を表す。

計算不可能な式であるの評価結果として返される。

 NULLnullオブジェクトを表す。

式や関数の評価結果として返される。関数への引数としても使用される。

NaNとNAは処理を実行した結果としてRのシステムから返されるものである。NAは統計学的な欠損値、データベースの欠損値を表すものである。NaNは数値計算が不可能な式が評価されてしまったことを意味する一種のエラーである。

ユーザーがスクリプトの中で自ら使用する(=変数や引数に割り当てたり、関数値として返したりする)のはNULLだけである。

NAそのものはlogical型であり、他の変数型に対応するものとしてNA_integer_、 NA_real_、NA_complex_、NA_character_という定数(予約語)もある。

コメント