R에서 수정하는 방법: true/false가 필요한 누락된 값


R에서 발생할 수 있는 오류는 다음과 같습니다.

 Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed

이 오류는 x == NA 구문을 사용하여 R의 if 문의 값을 NA와 비교할 때 발생합니다.

if 문은 TRUE 또는 FALSE 값을 기대하므로 이 함수는 항상 TRUE 또는 FALSE를 반환하므로 is.na(x)를 대신 사용해야 합니다.

오류를 재현하는 방법

R의 벡터에 있는 값 목록을 반복하고 벡터에 NA 값이 있을 때마다 “missing”이라는 단어를 인쇄하려고 한다고 가정해 보겠습니다.

 #define vector with some missing values
x <- c(2, NA, 5, 6, NA, 15, 19)

#loop through vector and print "missing" each time an NA value is encountered
for (i in 1:length(x)) {
 
 if (x[i] == NA) {
    print(' Missing ')
  }
}

Error in if (x[i] == NA) {: missing value where TRUE/FALSE needed

x[i] == NA 구문을 사용했기 때문에 오류가 발생합니다.

오류를 수정하는 방법

다음과 같이 구문을 is.na(x) 로 변경해야 합니다.

 #define vector with some missing values
x <- c(2, NA, 5, 6, NA, 15, 19)

#loop through vector and print "missing" each time an NA value is encountered
for (i in 1:length(x)) {
 
 if (is. na (x[i])) {
    print(' Missing ')
  }
}

[1] “Missing”
[1] “Missing”

오류가 발생하지 않으며 벡터에서 NA 값을 만날 때마다 “missing”이라는 단어를 인쇄할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

해결 방법: 강제로 인해 발생하는 NA
수정 방법: 행렬의 잘못된 인덱스 수
수리 방법: 교체할 품목의 개수가 교체 길이의 배수가 아닙니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다