2013-03-19 14 views
13

Was ist der Unterschied zwischen NaN und Inf, und NULL und NA in R?Was ist der Unterschied zwischen NaN und Inf und NULL und NA in R?

Warum ?NA und ?NULL mir sagen, dass "NA" eine Länge von "1" hat, während NULL eine Länge von "0" hat?

+3

'0/0' ist' NaN'. '1/0' * ist *' Inf' in 'R'. Hast du kontrolliert? – Arun

+0

Ich denke die Dokumentation erklärt das ganz klar. NA ist eine * logische Konstante * der Länge 1, wohingegen NULL ein NULL-Objekt ist. – Arun

+0

NaN vs Inf ist ziemlich konsistent über alle Computersprachen (und Standard-mathematischen Definitionen auch). 0/0 ist ein Beispiel für NaN und 1/0 ist ein Beispiel für Inf. –

Antwort

17

In R-Sprache gibt es zwei eng verwandte Null-ähnliche Werte: NA und NULL. Beide werden verwendet, um fehlende oder undefinierte Werte darzustellen.

NULL repräsentiert das Nullobjekt, es ist ein reserviertes Wort. NULL wird möglicherweise von Ausdrücken und Funktionen zurückgegeben, so dass Werte nicht definiert sind.

NA ist eine logische Konstante der Länge 1, die einen Indikator für fehlende Werte enthält. NA kann zu jedem anderen Vektor-Typ außer roh rotiert werden. Es gibt auch Konstanten NA_integer_, NA_real_, NA_complex_ und der anderen atomaren Vektortypen, die fehlende Werte unterstützen: all diese sind reservierte Wörter in der R-Sprache.

+2

Für was es wert ist, würde ich empfehlen, http://www.r-bloggers.com/r-na-vs-null/ zu lesen. –

+0

Auch wenn '-0' '0' zurückgibt, scheint '1/0'' Inf' zurück zu geben, aber '1/-0 'gibt' -Inf' zurück. – Heikki

27

Kurz

NaN : means 0/0 -- Stands for Not a Number 
NA : is generally interpreted as a missing, does not exist 
NULL : is for empty object. 

Für eine genaue Definition, können Sie die Dokumentation lesen, die sehr gut geschrieben.

Verwandte Themen