R에서 수정하는 방법: 인수에 다른 줄 수가 포함됩니다.


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

 arguments imply differing number of rows: 6, 5

이 오류는 데이터 프레임을 생성하려고 할 때 데이터 프레임의 각 열에 있는 행 수가 동일하지 않을 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

세 개의 벡터를 사용하여 R에서 데이터 프레임을 생성하려고 한다고 가정합니다.

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#attempt to create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

Error in data.frame(x1 = x1, x2 = x2, y = y): 
  arguments imply differing number of rows: 6, 5

각 벡터의 길이가 동일하지 않아 결과 데이터 프레임의 각 열에 동일한 행 수가 없기 때문에 오류가 발생합니다.

각 벡터의 길이를 인쇄하여 이를 확인할 수 있습니다.

 #print length of each vector
length(x1)

[1] 6

length(x2)

[1] 5

length(y)

[1] 6

벡터 x2 의 길이는 5이며 이는 벡터 x1y 의 길이와 일치하지 않습니다.

오류를 수정하는 방법

이 오류를 수정하려면 결과 데이터 프레임의 각 열이 동일한 수의 행을 갖도록 각 벡터의 길이가 동일한지 확인하면 됩니다.

예를 들어, 각 벡터가 동일한 길이를 갖도록 가장 짧은 벡터에 NA 값을 채울 수 있습니다.

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#pad shortest vector with NA's to have same length as longest vector
length(x2) <- length(y)

#create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

#view resulting data frame
df

  x1 x2 y
1 1 8 9
2 2 8 11
3 3 8 12
4 4 7 13
5 5 5 14
6 6 NA 16

결과 데이터 프레임의 각 열에 동일한 수의 행이 있으므로 오류가 발생하지 않습니다.

추가 리소스

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

R에서 수정하는 방법: 인수가 숫자도 아니고 논리도 아닙니다. return na
R에서 복구하는 방법: 이항 연산자의 숫자가 아닌 인수
R에서 복구하는 방법: 교체 길이가 0입니다.

의견을 추가하다

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