더북(TheBook)

앞 코드에서 첫 표현식은 수치형 벡터 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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.