2016-08-22 9 views
3

なぜ誰かが私に説明してもらえを返します。NA == 1つのチェックはNA

私はwhich(df$SomeAttribute == 1)を使用することができます知っているだけでNAの論理演算の正当性を疑問です。

+0

NAを使用した論理演算ではNAが返されます。 'is.na'を使用してください – akrun

+0

値が不明で何かになる可能性がある場合、比較も不明で何かである可能性があります。 – Roland

答えて

4

NAは、値が不明または不明であることを単に意味します。従って、NA == 1は、NAを生じる。 ==との比較の結果は不明です。欠損値が1か他のものかどうかはわかりません。

同じ理由が他のテストにも適用されます。その理由はすべてがNAです。


コメントで@akrunで指摘したように、値xが欠落しているかどうかを確認する適切な方法は、機能is.na(x)を使用することです。タイプx == NAを比較しても、望ましい結果は得られません。

+0

ありがとう、私はRがより厳密な論理条件を適用すると考えていました。つまり、未知数は既知の値ではなく、そうでなければ証明されないため、NAは等しくない1(FALSEを返します)です。 – stkubr