R에서 수정하는 방법: 행렬의 잘못된 인덱스 수


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

 Error in x[i, ] <- 0: incorrect number of subscripts on matrix

이 오류는 벡터의 위치에 값을 할당하려고 시도했지만 행렬의 행과 열 위치에 값을 할당하는 것처럼 실수로 쉼표를 포함했을 때 발생합니다.

이 튜토리얼에서는 이 오류를 수정하는 방법을 정확하게 설명합니다.

예시 1: 단일 값에 대한 오류 수정

R에 5개의 값을 갖는 다음 벡터가 있다고 가정합니다.

 #definevector
x <- c(4, 6, 7, 7, 15)

이제 벡터의 세 번째 요소에 값 “22”를 할당하려고 한다고 가정합니다.

 #attempt to assign the value '22' to element in third position
x[3, ] <- 22

Error in x[3, ] <- 22: incorrect number of subscripts on matrix

새 값을 할당하려고 할 때 쉼표를 포함했기 때문에 오류가 발생했습니다.

대신 다음 명령을 제거하면 됩니다.

 assign the value '22' to element in third position
x[3] <- 22

#display updated vector
x

[1] 4 6 22 7 15

예시 2: for 루프의 오류 수정

이 오류는 ‘for’ 루프를 사용하여 벡터의 여러 값을 바꾸려고 할 때도 발생할 수 있습니다.

예를 들어 다음 코드는 벡터의 각 값을 0으로 바꾸려고 시도합니다.

 #definevector
x <- c(4, 6, 7, 7, 15)

#attempt to replace every value in vector with zero
for (i in 1:length(x)) {
    x[i, ]=0
  }

Error in x[i, ] = 0: incorrect number of subscripts on matrix

0을 할당하려고 할 때 쉼표를 포함했기 때문에 오류가 발생했습니다.

대신 다음 명령을 제거하면 됩니다.

 #definevector
x <- c(4, 6, 7, 7, 15)

#replace every value in vector with zero
for (i in 1:length(x)) {
    x[i]=0
  }

#view updated vector
x

[1] 0 0 0 0 0

쉼표를 제거하면 코드가 오류 없이 실행됩니다.

추가 리소스

R에서 수정하는 방법: 강제로 인해 발생하는 NA
R에서 복구하는 방법: 범위를 벗어난 인덱스
R의 오류 수정 방법: 잘못된 차원 수

의견을 추가하다

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