2016-08-22 6 views
3

누군가가 나를 설명 할 수 반환합니다.NA == 1 검사는 왜 NA

나는 NA에 논리 연산의 온전한 질문에 which(df$SomeAttribute == 1)을 사용할 수 있습니다.

+0

NA를 사용한 논리 연산은 NA를 반환합니다. Use is.na' – akrun

+0

값이 알려지지 않았기 때문에 아무 것도 될 수없는 경우 비교도 알 수 없으므로 아무 것도 될 수 없습니다. – Roland

답변

4

NA은 값이 누락되거나 알 수 없음을 의미합니다. 따라서 NA == 1NA을 산출합니다. ==과 비교 한 결과는 알 수 없습니다. 누락 된 값이 1 또는 다른 것인지 알 수 없기 때문입니다.

다른 테스트에도 동일한 이유가 적용될 수 있습니다. 그 이유는 모두가 NA입니다.

@akrun 댓글에서 지적한 바와 같이

적절한 방법 x 누락 값은 is.na(x) 기능을 사용할지 여부를 확인한다. x == NA 유형을 비교해도 원하는 결과가 나오지 않습니다.

+0

감사합니다. R이 더 엄격한 논리 조건을 적용한다고 생각 했었습니다. 즉, 알 수없는 값이 알려진 값이 아닌 것으로 입증되지 않으면 NA가 1이되지 않습니다 (FALSE를 반환합니다). – stkubr