R에서 수정하는 방법: 인수 길이가 0입니다.
R을 사용할 때 발생할 수 있는 오류 메시지는 다음과 같습니다.
Error in if (x < 10) {: argument is of length zero
이 오류는 일반적으로 R의 if 문에서 논리적 비교를 수행하려고 시도하지만 비교에 사용하는 변수의 길이가 0일 때 발생합니다.
길이가 0인 변수의 두 가지 예는 숫자() 또는 Character(0) 입니다.
다음 예에서는 실제로 이 오류를 해결하는 방법을 보여줍니다.
오류를 재현하는 방법
길이가 0인 R에서 다음과 같은 숫자 변수를 생성한다고 가정합니다.
#create numeric variable with length of zero
x <- numeric()
이제 if 문 에서 이 변수를 사용한다고 가정해 보겠습니다 .
#if x is less than 10, print x to console
if(x < 10 ) {
x
}
Error in if (x < 10) {: argument is of length zero
우리가 정의한 변수의 길이가 0이기 때문에 오류가 발생합니다.
단순히 실수 값을 사용하여 숫자 변수를 생성했다면 if 문을 사용할 때 이 오류가 발생하지 않습니다.
#create numeric variable
y <- 5
#if y is less than 10, print y to console
if(y < 10 ) {
y
}
[1] 5
오류를 방지하는 방법
인수 길이가 0인 오류를 방지하려면 다음 논리를 사용하는 isTRUE 함수를 포함해야 합니다.
is. logical (x) && length(x) == 1 && !is. na (x) && x
if 문에서 이 함수를 사용하면 변수를 값과 비교할 때 오류가 발생하지 않습니다.
if(isTRUE(x) && x < 10 ) {
x
}
오류를 수신하는 대신 isTRUE(x) 함수가 FALSE 로 평가되므로 출력이 수신되지 않습니다. 즉, x 값이 인쇄되지 않습니다.
추가 리소스
다음 튜토리얼에서는 R의 다른 일반적인 오류를 수정하는 방법을 설명합니다.
R에서 수정하는 방법: 인수에 다른 줄 수가 포함됩니다.
R에서 수정하는 방법: 사용하지 않는 인수를 선택하는 중 오류가 발생했습니다.
R에서 복구하는 방법: 교체 길이가 0입니다.