R 数组

数组

与矩阵相比,数组可以具有两个以上的维度。

我们可以使用 array() 函数创建一个数组,并使用 dim 参数来指定维度:

实例

# 一维数组,值范围为 1 到 24
thisarray <- c(1:24)
thisarray

# 多维数组
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray

亲自试一试

例子解释:

在上面的示例中,我们创建一个值为 124 的数组。

dim=c(4,3,2) 如何工作?

  • 括号中的第一个和第二个数字指定行数和列数。
  • 括号中的最后一个数字指定我们想要多少个维度数。

注意:数组只能有一种数据类型。

访问数组项

您可以通过引用索引位置来访问数组元素。您可以使用 [] 括号来访问数组中所需的元素:

实例

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

multiarray[2, 3, 2]

亲自试一试

语法如下:

array[row position, column position, matrix level]

您还可以使用 c() 函数从数组中的矩阵访问整个行或列:

实例

thisarray <- c(1:24)

# 访问矩阵一第一行中的所有项目
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[c(1),,1]

# 访问矩阵一第一列中的所有项目
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[,c(1),1]

亲自试一试

提示

c() 之前的逗号 (,) 表示我们要访问该列。

c() 后面的逗号 (,) 表示我们要访问该行。

检查项目是否存在

要查明指定的项目是否存在于数组中,请使用 %in% 运算符:

实例

检查数组中是否存在值 2

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

2 %in% multiarray

亲自试一试

行数和列数

使用 dim() 函数查找数组中的行数和列数:

实例

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

dim(multiarray)

亲自试一试

数组长度

使用 length() 函数查找数组的维数:

实例

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

length(multiarray)

亲自试一试

遍历数组

您可以使用 for 循环遍历数组项:

实例

thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))

for(x in multiarray){
  print(x)
}

亲自试一试