2.2.3 数组(array())
数组(array)与矩阵类似,但是维度可以大于2.数组可通过array函数创建,代码格式如下:
myarray <- array (vector,dimensions,dimnames)
其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。如下代码创建了一个三维(2x3x4)数值型数组:
> 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
从上面代码所见,数组是矩阵的一个自然推广,它们在编写新的统计方法时可能有很有用。像矩阵一样,数组中的数据也只能拥有一种模式。从数组中选取元素的方式与矩阵相同,上面代码中,元素z[1,2,3]那么得到的结果将会是15。其中[1,2,3]里面的1代表第一行,2代表第二列,3代表第三组,即C3。如果把[1,2,3]改成[2,2,4]那么得到的结果就是22,方法不变,以此类推。