数组(Array)是R语言中的一种多维数据结构,可以容纳具有相同数据类型的元素。数组可以拥有多个维度(通常是三个或更多维度),而不仅仅是二维。数值类型的三维数组如图3-12所示。数组在处理多维数据集合时非常有用,如三维图像、四维气象数据或更高维度的数据。
图3-12 数值类型的三维数组
另外,我们之前介绍的向量是一维数组。矩阵是二维数组,它具有两个维度:行和列。
创建数组使用array()函数,该函数的基本语法如下。
参数说明如下。
data:包含数组元素的向量。
dim:一个指定数组各个维度大小的向量,用于定义数组的形状(维度)。
dimnames:一个可选参数,用于指定数组各维度的名称。
创建数组的示例代码如下。
上述示例代码解释如下。
代码第①行创建了一个2行3列的二维字符数组char_mat,其中包含字符元素"A""B""C""D""E""F",通过指定dim参数来设置数组的维度。
代码第②行创建了一个3×4×2的三维整数数组arr,其中包含从0到24的整数元素。3×4×2的三维整数数组arr如图3-13所示。同样,它通过指定dim参数来设置数组的维度。这个数组是一个三维数据集,包含两个层(或深度),每个层都是一个3×4的矩阵。这种数组通常用于表示多维数据,如多维时间序列或三维图像数据。
图3-13 3×4×2的三维整数数组arr
上述示例代码运行结果如下。
要访问数组中的元素,我们可以使用索引。不同维度的数组需要不同数量的索引来访问。以下是访问数组中的元素的示例代码。
上述示例代码解释如下。
代码第①表达式mat[2, ]中只指定了行索引,没有指定列索引,它返回第2行所有元素的向量。
代码第②表达式arr[2, 3, 2]访问arr数组的第2行、第3列、第2层的元素。
上述示例代码运行结果如下。