R语言初学者——数据结构之矩阵和数组(二)

数组

R中的数组就是多维的矩阵。

创建方式如下

> x <- c(1:20)
> dim(x) <-c(2,2,5)
> x
, , 1

     [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

     [,1] [,2]
[1,]    5    7
[2,]    6    8

, , 3

     [,1] [,2]
[1,]    9   11
[2,]   10   12

, , 4

     [,1] [,2]
[1,]   13   15
[2,]   14   16

, , 5

     [,1] [,2]
[1,]   17   19
[2,]   18   20

可以利用array()函数来创建。

array (vector,dimensions,dimnames)

> dim1 <-c('a1','a2')
> dim2 <-c('b1','b2','b3')
> dim3 <-c('c1','c2','c3','c4')
> z<-array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))
> z
, , c1

   b1 b2 b3
a1  1  3  5
a2  2  4  6

, , c2

   b1 b2 b3
a1  7  9 11
a2  8 10 12

, , c3

   b1 b2 b3
a1 13 15 17
a2 14 16 18

, , c4

   b1 b2 b3
a1 19 21 23
a2 20 22 24

其余操作与矩阵类似

> x[1,,]#所有矩阵的第一行
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    9   13   17
[2,]    3    7   11   15   19
> x[,1,]#所有矩阵的第一列
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    5    9   13   17
[2,]    2    6   10   14   18
> x[,,1]#第一个矩阵
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> x[1,1]
Error in x[1, 1] : incorrect number of dimensions
> x[1,,1]#第一个矩阵的第一行
[1] 1 3
> x[1,1,]#所有矩阵的第一行第一列
[1]  1  5  9 13 17

 

你可能感兴趣的:(R语言学习笔记)