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 语言中,数组是一种强大而灵活的数据结构,可以用于各种各样的计算和数据处理任务。