앞 코드에서 첫 표현식은 수치형 벡터 vec에서 4열로 구성된 행렬을 만든다. 이 행렬은 matrix라는 클래스를 가지며, typeof() 결과는 vec에서 double을 그대로 물려받는다. 행렬은 차원을 갖는 데이터 구조이므로 dim() 함수는 행렬의 차원을 벡터 형태로 반환한다. nrow()와 ncol() 함수는 각각 행과 열의 개수를 넘겨준다. 이 두 함수를 사용하는 소스 코드를 보더라도 별로 특별할 것은 없다. 두 함수의 결과는 각각 dim() 함수 결과의 첫 번째, 두 번째 요소와 값이 같다.
차원이 더 높은 데이터라면 일반적으로 배열로 표현된다. 예를 들어 같은 데이터 vec은 3차원으로 표현할 수 있다. 즉, 한 요소에 접근하려면 3차원에 해당하는 위치 정보가 3개 필요하다.
> sample_array <- array(vec, dim = c(2, 3, 2)) > sample_array , , 1 [,1] [,2] [,3] [1,] 1 3 3 [2,] 2 2 4 , , 2 [,1] [,2] [,3] [1,] 3 5 5 [2,] 4 4 6 > class(sample_array) [1] "array" > typeof(sample_array) [1] "double" > dim(sample_array) [1] 2 3 2 > nrow(sample_array) [1] 2 > ncol(sample_array) [1] 3