配列

ベクトルは 1 次元、行列は 2 次元配置のデータ型である。これに対して、空間解析などでは 3 次元あるいはそれ以上のデータ配置となる。3 次元以上のデータを保存したいとき、配列型を利用する。

配列の作成は array 関数で行う。引数 dim には各次元のサイズを与える必要がある。

# 2 次元配列(4 行 2 列の配列)
x <- array(1:8, dim = c(4, 2))
## x
##      [,1] [,2]
## [1,]    1    5
## [2,]    2    6
## [3,]    3    7
## [4,]    4    8


# 3 次元配列(2 × 3 × 2の配列)
x <- array(1:12, dim = c(2, 3, 2))
x
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## , , 2

##      [,1] [,2] [,3]
## [1,]    7    9   11
## [2,]    8   10   12

配列の要素を取り出すとき、角括弧を用いて各次元における添字を与えて取得する。

x <- array(1:16, dim = c(2, 2, 4))

x[2, 1, 3]
## [1] 10
## 

x[-1, , ]
##      [,1] [,2] [,3] [,4]
## [1,]    2    6   10   14
## [2,]    4    8   12   16

x[1, 2, c(2, 3)]
## [1]  7 11