数组简介
在R语言中,可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上。如果给定的数组是1维的则相当于向量,2维的相当于矩阵。
R语言中的数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型等。
数组的创建
在R语言中,数组使用array()函数创建。array()函数的语法格式如下所示:
array( data = NA, dim = length(data), dimnames = NULL)
-
data为创建数组的元素;
-
dim为数组的维数,是数值型向量;
-
dimnames是各维度中名称标签列表。
举例说明:
arr1 <- array(1:10) #相当于1维的向量:1 2 3 4 5 6 7 8 9 10
arr2 <- array(1:10, dim=c(2,5)) #相当于2行5列的矩阵
arr3 <- array(1:24, dim=c(3,4,2)) #创建了一个3×4×2维的数组
在创建数组时可以给数组的每一维的每个水平取名字:
dim1 <- c("A1","A2","A3")
dim2 <- c("B1","B2","B3")
dim3 <- c("C1","C2")
arr4<-array(1:18, dim=c(3,3,2), dimnames = list(dim1, dim2, dim3)) #这里使用列表创建了数组各维度标签的名称
创建缺失值数组和零数组
array(dim=c(5,5))
array(0,dim=c(5,5))
[,1] [,2] [,3] [,4] [,5]
[1,] NA NA NA NA NA
[2,] NA NA NA NA NA
[3,] NA NA NA NA NA
[4,] NA NA NA NA NA
[5,] NA NA NA NA NA
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 0 0
[2,] 0 0 0 0 0
[3,] 0 0 0 0 0
[4,] 0 0 0 0 0
[5,] 0 0 0 0 0
数组元素的引用
下面举几个例子进行说明:
arr4[2,3,1] # 获取单个元素的值:8
arr4[2,1,] #获取第1个维度的第2个水平和第2个维度的第1个水平的所有元素值
arr4[2,,] #获取第1个维度的第2个水平的所有组合元素值
arr4[,2,] #获取第2个维度第2个水平的所有组合元素值
arr4["A2","B3","C2"] #通过水平名称的组合来获取元素值
修改数组中元素的值
arr4[2,3,1] <- 18
arr4[2,3,] <- c(110,111)