R 语言数组

数组

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

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

实例
  1. # An array with one dimension with values ranging from 1 to 24
  2. thisarray <- c(1:24)
  3. thisarray
  4. # An array with more than one dimension
  5. multiarray <- array(thisarray, dim = c(4, 3, 2))
  6. multiarray
实例解释

在上面的实例中,我们创建了一个值为 1 到 24 的数组。

dim=c(4,3,2) 是如何执行的?

括号中的第一个和第二个数字指定行和列的数量。

括号中的最后一个数字指定了我们需要的维度。

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

访问数组项

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

实例
  1. thisarray <- c(1:24)
  2. multiarray <- array(thisarray, dim = c(4, 3, 2))
  3. multiarray[2, 3, 2]
语法如:array[row position,column position,matrix level]

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

实例
  1. thisarray <- c(1:24)
  2. # Access all the items from the first row from matrix one
  3. multiarray <- array(thisarray, dim = c(4, 3, 2))
  4. multiarray[c(1),,1]
  5. # Access all the items from the first column from matrix one
  6. multiarray <- array(thisarray, dim = c(4, 3, 2))
  7. multiarray[,c(1),1]

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

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

检查项是否存在

要确定数组中是否存在指定项,请使用 %in% 运算符:

实例

检查值 "2" 是否存在于数组中:

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

行和列的数量

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

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

数组长度

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

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

循环遍历数组

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

实例
  1. thisarray <- c(1:24)
  2. multiarray <- array(thisarray, dim = c(4, 3, 2))
  3. for(x in multiarray){
  4. print(x)
  5. }