NaN과 NA의 차이점은 무엇입니까?


48

R과 같은 일부 언어에 NA와 NaN이 모두있는 이유를 알고 싶습니다. 차이점은 무엇입니까, 아니면 동일합니까? NA가 정말로 필요합니까?


5
NA는 "자리 표시 자"에 가깝습니다. NaN은 (IEEE) 산술 목적입니다.
JM은 통계학자가 아닙니다.

@JM. 요약하는 좋은 방법.
suncoolsu

그리고 예를 들어 1/0과 같은 표현을 나타내는 Inf도 있습니다.
Karsten W.

여기 문서에 설명되어 있습니다 .
복원

1
이 질문이 스택 오버플로에 더 적합하다고 생각하지만 마이그레이션하기에는 너무 오래되었습니다.
Zach

답변:


44

? is.nan

? is.na

NA

NaN

귀하의 질문에 대답하십시오.

그러나 간단히 말해서 :

NaN은 0을 의미 숫자가 아님00

NA는 일반적으로 결 측값으로 해석되며 NA_integer_, NA_real_ 등의 다양한 형식을 갖습니다.

따라서 NaN NA이며 NaN과 NA가 필요합니다.


21
주목할 점 은 NA와 NaN 모두에 대한 is.na()수익 TRUE이며, is.nan()예 를 들어 is.na(c(0/0,NA)) vs. 와 다릅니다 is.nan(c(0/0,NA)).
chl

11

NA는 누락 된 데이터입니다. JM이 말했듯이 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 만 있습니다.


당신은 (중요한) 오타를 만들었습니다. "Na N 은 '숫자가 아님'
Peter Smit

@Peter Smit : 감사합니다. 내 X 서버가 키 스트로크를 지연
시키고 있습니다

2
여러 언어에는 동등한 구성이 있습니다. 예를 들어 PHP와 Javascript에는 null과 NaN이 있습니다.
nico

2

NA는 스프레드 시트를 R로 가져올 때 이미 오류가 발생했음을 의미합니다. NaN은 데이터를 가져온 후 오류가 발생했음을 의미합니다. 실제로 잡기가 어려운 세 번째 유형의 오류입니다.

:-)


3
처음 두 가지는 무엇입니까?
David LeBauer

나는 glib하고 있었지만 NA는 첫 번째 유형의 오류이며, 종종 가져온 데이터의 잘못된 유형으로 인해 발생하는 오류입니다. 요인 수준에서. NaN은 두 번째 오류이며 R 내에서 데이터를 변환 할 때 더 자주 발생합니다. 세 번째 오류는 숫자 값을 가지지 만 어떤 이유로 든 잘못된 것이므로 즉시 눈에 띄지 않습니다. 다시 말하지만, 이것은 엄밀한 분류가 아니라 비공식적 인 관찰입니다.
f1r3br4nd

0

NA = 사용할 수 없음

NaN = 숫자 아님

두문자어를 확장 한 후에는 스스로 설명해야한다고 생각합니다.


2
이력서에 오신 것을 환영합니다! 답변 해 주셔서 감사하지만 기존 답변을 먼저 읽고 새로운 내용을 추가하고 있는지 고려하십시오.
Scortchi-Monica Monica 복원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.