답변:
의 평가 condition
결과는 NA
. if
조건은이 중 하나 있어야 TRUE
또는 FALSE
결과.
if (NA) {}
## Error in if (NA) { : missing value where TRUE/FALSE needed
계산 결과에 따라 실수로 발생할 수 있습니다.
if(TRUE && sqrt(-1)) {}
## Error in if (TRUE && sqrt(-1)) { : missing value where TRUE/FALSE needed
개체가 없는지 테스트하려면 is.na(x)
대신을 사용하십시오 x == NA
.
관련 오류도 참조하십시오.
if / while 오류 (조건) {: 인수 길이가 0 임
if / while (조건) 오류 : 인수를 논리로 해석 할 수 없습니다
if (NULL) {}
## Error in if (NULL) { : argument is of length zero
if ("not logical") {}
## Error: argument is not interpretable as logical
if (c(TRUE, FALSE)) {}
## Warning message:
## the condition has length > 1 and only the first element will be used
NA
어느 쪽이든 용납 할 수 없습니다 . 내가 정의x = NA
하고 다음을 수행if (x == NA){ ... }
하면 파서가 double equals의 왼쪽을 검사 할 때 런타임 에이 오류가 발생합니다. 이 오류를 해결하려면 조건부의 모든 변수가 NA를 사용하고 있지 않은지 확인하십시오is.na(your_variable)
.