Rを使っていて最も悩むことの一つが、データに含まれる欠損値だ。
具体的には、
監査の場合、Infはほとんど出てこないが、特に、頻出するのがNAだ。NAがある場合は関数がエラーを出して動かないことがあり、例えばNAを含むデータを合計すると、NAという結果(つまりエラー)を返してくる。
これは、NAというデータを含んだままの処理をして意図せざる結果を受け入れてしまうことを回避するためのRの仕様なので、全データを目視できない以上、便利な機能である。
関数によっては、NAを除去して演算するオプションが付いていることがある。その場合、
na.rm=TRUE
とすれば、NAを除いた形で演算する。データ自体は残っている。
また、データフレームdfの場合、
na.omit(df)
とすれば、NAを含む行を除いてしまう。監査の場合、データを「取り除く」ことは原則としては避けるべきなので、支障のないデータ(たとえばゼロなど)に置き換えて対処するなどが考えられるが、ケースバイケースとなろう。
因子型のデータでNAがある場合、単純にNAを検索して置き換えようとしても、エラーが返ってくる。因子型のデータは因子として認識されていないものは、受け付けてくれないから。詳細は因子型。