数组(array)就是k维的数据表,当k=2时,数组就是矩阵(matrix).数组是矩阵的推广.
- 数组的建立
一般采用函数
array(data = NA, dim = length(data), dimnames = NULL)
建立数组,其中data为数据,dim为数组的维数,dimnames为数组维数的名称。
#建立维数为(3,4,2)的数组
> data1<-array(1:24,dim=c(3,4,2))
> data1
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
, , 2
[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24
#当k=2时,数组就是矩阵(matrix)
> data2<-array(1:24,dim=c(3,8))
> data2
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 4 7 10 13 16 19 22
[2,] 2 5 8 11 14 17 20 23
[3,] 3 6 9 12 15 18 21 24
> is.matrix(data2)
[1] TRUE
2.数组的访问
> data<-array(1:24,dim=c(3,4,2))
> data
, , 1
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
, , 2
[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24
> data[2,3,1]
[1] 8
> data[2,,]
[,1] [,2]
[1,] 2 14
[2,] 5 17
[3,] 8 20
[4,] 11 23
3.数组的运算
数组的运算和矩阵的运算基本相同,这里就不在重复。