数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:
array(data = NA, dim = length(data), dimnames = NULL)
其中data包含了数组中的数据,dim是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。
下面将创建的每两个3×3矩阵的数组,具有3行3列。
1
数组的创建
# 创建两个不同长度的向量
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
# 把这些向量作为数组的输入
result <- array(c(vector1,vector2),dim=c(3,3,2))
2
命名列和行
我们可以通过使用dimnames参数给予名称添加到数组中的行,列和矩阵。
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
3
访问数组元素
访问数组是用[]索引。
# 打印数组第二个矩阵的第三行
result[3,,2]
# 打印第1矩阵的第1行和第3列中的元素。
result[1,3,1]
# 打印第二个矩阵
result[,,2]
4
操纵数组元素
# Take these vectors as input to the array.
array1 <- array(c(vector1,vector2),dim=c(3,3,2))
# Create two vectors of different lengths.
vector3 <- c(9,1,0)
vector4 <- c(6,0,11,3,14,1,2,6,9)
array2 <- array(c(vector3,vector4),dim=c(3,3,2))
# 从这些数组创建矩阵
matrix1 <- array1[,,2]
matrix2 <- array2[,,2]
# 矩阵相加.
result <- matrix1+matrix2
本文分享自 MedBioInfoCloud 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!