R에서 복구하는 방법: 범위를 벗어난 인덱스
R에서 발생할 수 있는 일반적인 오류는 다음과 같습니다.
Error in x[, 4]: subscript out of bounds
이 오류는 존재하지 않는 행렬의 열이나 행에 액세스하려고 할 때 발생합니다.
이 튜토리얼에서는 다음 매트릭스를 예로 사용하여 이 오류를 해결하기 위해 취할 수 있는 정확한 단계를 보여줍니다.
#make this example reproducible set. seeds (0) #create matrix with 10 rows and 3 columns x = matrix(data = sample. int (100, 30), nrow = 10, ncol = 3) #print matrix print (x) [,1] [,2] [,3] [1,] 14 51 96 [2,] 68 85 44 [3,] 39 21 33 [4,] 1 54 35 [5,] 34 74 70 [6,] 87 7 86 [7,] 43 73 42 [8,] 100 79 38 [9,] 82 37 20 [10,] 59 92 28
예시 #1: 범위를 벗어난 인덱스(선 포함)
다음 코드는 존재하지 않는 행렬의 11번째 행에 액세스하려고 시도합니다.
#attempt to display 11th row of matrix
x[11, ]
Error in x[11, ]: subscript out of bounds
행렬의 11번째 행이 존재하지 않으므로 인덱스가 범위를 벗어남 오류가 발생합니다.
행렬에 몇 개의 행이 있는지 모른다면 nrow() 함수를 사용하여 알아낼 수 있습니다.
#display number of rows in matrix
nrow(x)
[1] 10
행렬에 행이 10개만 있는 것을 볼 수 있습니다. 따라서 행에 액세스하려면 10보다 작거나 같은 숫자만 사용할 수 있습니다.
예를 들어, 다음 구문을 사용하여 행렬의 10번째 행을 표시할 수 있습니다.
#display 10th row of matrix
x[10, ]
[1] 59 92 28
예제 #2: 범위를 벗어난 인덱스(열 포함)
다음 코드는 존재하지 않는 행렬의 네 번째 열에 액세스하려고 시도합니다.
#attempt to display 4th column of matrix
x[, 4]
Error in x[, 4]: subscript out of bounds
행렬의 네 번째 열이 존재하지 않으므로 인덱스가 범위를 벗어남 오류가 발생합니다.
행렬에 포함된 열 수를 모르는 경우 ncol() 함수를 사용하여 알아낼 수 있습니다.
#display number of columns in matrix
ncol(x)
[1] 3
행렬에는 열이 3개만 있는 것을 볼 수 있습니다. 따라서 열에 액세스하려면 3보다 작거나 같은 숫자만 사용할 수 있습니다.
예를 들어, 다음 구문을 사용하여 행렬의 세 번째 열을 표시할 수 있습니다.
#display 3rd column of matrix
x[, 3]
[1] 96 44 33 35 70 86 42 38 20 28
예제 #3: 범위를 벗어난 인덱스(행 및 열)
다음 코드는 존재하지 않는 행렬의 11번째 행과 4번째 열의 값에 액세스하려고 시도합니다.
#attempt to display value in 11th row and 4th column
x[11, 4]
Error in x[11, 4]: subscript out of bounds
행렬의 11번째 행과 4번째 열이 모두 존재하지 않으므로 인덱스가 범위를 벗어남 오류가 발생합니다.
행렬에 몇 개의 행과 열이 있는지 모르는 경우에는 희미() 함수를 사용하여 알아낼 수 있습니다.
#display number of rows and columns in matrix
dim(x)
[1] 10 3
행렬에는 행이 10개, 열이 3개만 있는 것을 볼 수 있습니다. 따라서 행과 열에 접근할 때 이 값보다 작거나 같은 숫자만 사용할 수 있습니다.
예를 들어, 다음 구문을 사용하여 행렬의 10번째 행과 3번째 열의 값을 표시할 수 있습니다.
#display value in 10th row and 3rd column of matrix
x[10, 3]
[1] 28
추가 리소스
다음 튜토리얼에서는 R의 다른 일반적인 오류를 해결하는 방법을 설명합니다.
R에서 수정하는 방법: 이름이 이전 이름과 일치하지 않습니다.
R에서 수정하는 방법: 긴 물체의 길이가 더 짧은 물체 길이의 배수가 아닙니다.
R에서 수정하는 방법: 대비는 수준이 2개 이상인 요인에만 적용할 수 있습니다.