R 数组


R 数组

在 R 语言中,数组是一个可以容纳多个元素的变量。一个数组由相同类型的元素组成,并可按照一定的顺序组织起来。在 R 语言中,数组是一种比向量更为复杂的数据结构。

创建数组

在 R 语言中,创建数组的最基本的函数是 array()array() 的一般形式为:

array(data, dim = c(length(data)))

其中,data 参数是数组中要存储的元素,dim 参数用来指定数组的维度。如果不指定 dim 参数,则数组会被视为一个向量,并且其维度会根据 data 参数的长度自动确定。

以下是一个创建数组的示例:

a <- array(1:12, dim = c(2, 3, 2))
print(a)

输出结果如下:

, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

这个数组由 2 个 2x3 的矩阵组成,共有 12 个元素。

访问数组

访问数组的一个元素需要给出一个或多个索引值。在 R 语言中,数组的索引值从 1 开始而不是从 0 开始。如果要访问一个多维数组的元素,则需要提供一组索引值,其中每个索引值都对应每个维度的一个坐标。

以下是一个使用索引访问数组元素的示例:

a <- array(1:12, dim = c(2, 3, 2))
print(a[1, 2, 1])

输出结果为:

[1] 3

数组运算

在 R 语言中,可以对数组进行各种各样的运算,如加、减、乘、除等。如果对两个数组进行运算,则需要保证它们的大小相同,同时对应位置的元素类型也要相同。

以下是一个数组加法的示例:

a <- array(1:6, dim = c(2, 3))
b <- array(7:12, dim = c(2, 3))
c <- a + b
print(c)

输出结果为:

     [,1] [,2] [,3]
[1,]    8   10   12
[2,]   14   16   18

遍历数组

在 R 语言中,遍历数组的方法与其他语言类似,可以使用 for 循环或 apply 函数。for 循环通过遍历数组的索引来实现对数组的遍历,而 apply 函数则可以对数组的每行、每列或每个元素进行操作。

以下是一个使用 for 循环遍历数组的示例:

a <- array(1:6, dim = c(2, 3))
for (i in 1:2) {
  for (j in 1:3) {
    print(a[i, j])
  }
}

输出结果为:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6

以下是一个使用 apply 函数遍历数组的示例:

a <- array(1:6, dim = c(2, 3))
apply(a, 1, sum)

输出结果为:

[1]  6 15

在这个示例中,apply() 函数对这个数组的每行求和,并返回一个新的数组。

总之,在 R 语言中,数组是一种强大而灵活的数据结构,可以用于各种各样的计算和数据处理任务。