NaNとNAの違いは何ですか?


48

Rのような一部の言語にNAとNaNの両方がある理由を知りたいです。違いは何ですか、それとも等しく同じですか?NAは本当に必要ですか?


5
NAは「プレースホルダー」に近いと思います。NaNは(IEEE)算術演算用です。
JMは統計家ではありません

@JM。要約する良い方法。
suncoolsu

インスタンス1/0のためのような表現を意味INFが、...もあります
カルステンW.

こちらのドキュメント説明されています。
GUNG -復活モニカ

1
この質問はスタックオーバーフローに適していると思いますが、質問は古すぎて移行できません。
ザック

回答:


44

?is.nan

?is.na

?NA

ナン

あなたの質問に答えるべきです。

しかし、要するに:

NaNは0を意味し非数を表す00

NAは一般に欠損値として解釈され、さまざまな形式-NA_integer_、NA_real_などがあります。

したがって、NaN NAであり、NaNとNAが必要です。


21
ノートのis.na()リターンTRUEとは異なりNAとNaNの、両方のためにis.nan()例えばis.na(c(0/0,NA)) is.nan(c(0/0,NA))
CHL

11

NAは欠落データ用です。JNが言ったように、NaNは算術目的のためです。NaNは通常、などの算術演算の積です0/0。通常、NAは事前に宣言されているか、存在しないものにアクセスしようとする場合の動作の産物です。

 > a <- c(1,2)
 > a[3]
   [1] NA 

5

NAは「Not Available」の略で、NaNは「Not a Number」ですが、これは説明よりもニーモニックです。ところで、私はR(おそらくSplus?)以外の両方の言語を知っています。たとえば、MatlabにはNaNのみがあります。


あなたは(重要な)タイプミスをしました。「ナNは『数ではない』です」
ピーター・スミット

@Peter Smit:ああ、ありがとう。私のXサーバは、キーストローク...遅れている
shabbychef

2
いくつかの言語には同等の構造があります。たとえば、PHPとJavascriptにはnullとNaNがあります。
ニコ

2

NAは、スプレッドシートをRにインポートしたときにエラーがすでに存在していたことを意味します。NaNは、データをインポートした後にエラーが発生したことを意味します。キャッチするのが本当に難しいのは3番目のタイプのエラーです。

:-)


3
最初の2つは何ですか?
デビッドルバウアー

私はglibでしたが、私が意味したことは、NAは最初のタイプのエラーであり、インポートされたデータの何かが間違ったタイプであることが原因であることがよくあります-たとえば、句読点/文字/空白または入力ミス/大文字小文字の違いを含む数値フィールド因子のレベルで。NaNは2番目のエラーであり、R内でデータを変換するときに頻繁に発生します。3番目のエラーは数値を含むデータですが、何らかの理由で間違ったものであり、すぐに目立たなくなります。繰り返しますが、これは厳密な分類を意図したものではなく、単なる非公式の観察です。
f1r3br4nd

0

NA =使用不可

NaN =数字ではない

頭字語を拡大したら、それは自明のはずです。


2
CVへようこそ!回答いただきありがとうございますが、まず既存の回答を読んで、新しいものを追加するかどうかを検討してください。
Scortchi -復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.