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의 오류 수정 방법: 잘못된 차원 수