이 오류 메시지가 나타납니다.
Error in if (condition) { : missing value where TRUE/FALSE needed
또는
Error in while (condition) { : missing value where TRUE/FALSE needed
무엇을 의미하며 어떻게 방지합니까?
답변
의 평가 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
답변
null 또는 빈 문자열을 확인할 때이 문제가 발생했습니다.
if (x == NULL || x == '') {
로 변경
if (is.null(x) || x == '') {