it-swarm.dev

if / while (condition) {: 누락 된 값 where TRUE / FALSE needed

이 오류 메시지가 나타납니다.

Error in if (condition) { : missing value where TRUE/FALSE needed

또는

Error in while (condition) { : missing value where TRUE/FALSE needed

그게 무슨 뜻이고, 어떻게 막을 수 있습니까?

131
Dombey

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

객체가 누락되었는지 테스트하려면 x == NA 대신 is.na(x) 를 사용하십시오.


관련 오류 참조 :

if/while (condition) {: 인수의 길이가 0 인 오류

if/while (condition) : 인수가 논리적으로 해석 가능하지 않음

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
180
Brian Diggs

널 또는 빈 문자열을 검사 할 때이 문제에 부딪혔다.

if (x == NULL || x == '') {

그것을 (으)로 변경

if (is.null(x) || x == '') {
7
pbatey