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
수정 방법: 행렬의 잘못된 인덱스 수
수리 방법: 교체할 품목의 개수가 교체 길이의 배수가 아닙니다.