더북(TheBook)

2.3.2 배열의 서브세팅

배열의 부분 집합을 추출하는 기본 원리는 행렬에서 부분 집합을 추출하는 것과 동일하다. 각 차원에 대한 벡터를 제공하여 배열의 하위 집합을 추출할 수 있다.

> a1[1,,]
     k1    k2
c1    0     5
c2    1     6
c3    2     7
c4    3     8
c5    4     9
> a1[, 2,]
k1    k2
 1     6
> a1[,,1]
c1    c2    c3    c4    c5
 0     1     2     3     4
> a1[1, 1, 1]
[1] 0
> a1[1, 2:4, 1:2]
     k1    k2
c2    1     6
c3    2     7
c4    3     8
> a1[c("r1"), c("c1", "c3"), "k1"]
c1    c3
 0     2

이미 눈치챘겠지만 원소 벡터, 행렬, 배열 모두 성질은 비슷하다. 가장 큰 공통점은 동종 데이터 타입(homogeneous data types), 즉 저장하는 요소의 타입이 모두 동일해야 한다는 것이다. 그러나 R에서는 이기종 데이터 타입(heterogeneous data types)도 물론 있다. 즉, 서로 다른 타입의 요소를 저장할 수 있기 때문에 훨씬 유연하지만, 한편으로는 메모리 효율성이 떨어지며 동작 속도가 느리다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.