R 编程中的二维列表

2024年11月14日 | 阅读 6 分钟

列表是 R 编程中的一种关键数据结构,它使您能够存储各种数据组件。 二维列表(通常称为矩阵)对于以表格样式组织和管理数据特别有利,是众多列表形式中的一种。 在本文中,我们将探讨 R 中的二维列表,包括如何创建、操作以及对其执行常见操作。

什么是二维列表?

二维列表(在 R 中也称为矩阵)是由行和列组成的数据形状。 数据以类似网格的布局组织,对应于工作台或电子表格。 矩阵详细信息可以通过其行和列位置来确定。

R 中的 matrix() 函数可用于构建矩阵。 基本语法如下

data: 您需要用来填充矩阵的统计数据。

nrow: 矩阵中的行数。

ncol: 矩阵中的列数。

byrow: 一个逻辑值,指定是否需要按行 (TRUE) 或按列 (FALSE) 填充统计数据。 默认情况下,它设置为 FALSE。

dimnames: 提供行名和列名的可选参数。

开发二维列表

例如,考虑以下矩阵

输入

在此示例中,我们创建了一个 3x3 矩阵,其中包含从 2 到 10 的数字,按行优先顺序(默认值)排序。 结果矩阵如下所示

输出

Two Dimensional List in R Programming

矩阵加法和减法

输入

输出

Two Dimensional List in R Programming

矩阵乘法

输入

输出

Two Dimensional List in R Programming

创建 -dimensional 列表

可以使用 list() 函数首先创建一维列表。 它们可以进一步封装到另一个外部列表中。 外部列表的周期是它包含的内部列表的数量,可以通过 period() 函数进行访问。 各种内部列表的持续时间可以通过使用 length (list[[index]]) 函数进行索引来计算,其中通过 [[ ]] 访问相应的索引。

输入

输出

Two Dimensional List in R Programming

在上面的代码中

1. 创建一维列表

在此部分代码中,创建了两个一维(单级)列表,new_list1 和 new_list2。

  • new_list1 包含 3 个元素
  • 一个单独的向量,即字符向量 c("apple", "banana", "cherry"),表示水果名称。
  • 字符串 "hello"。
  • 数值为 3.14。
  • new_list2 包含一个单独的元素,即另一个字符向量 c("dog", "cat", "fish")。

2. 创建列表的列表

此处形成了名为 list_of_lists 的新列表。 此列表的元素是之前产生的 new_list1 和 new_list2。 由于 list_of_lists 是一个将其他列表作为项目的列表,因此这种安排会产生一个嵌套列表。

3. 打印嵌套列表

在 list_of_lists 的内容之后,以下几行打印了一条描述性消息 ("The two-dimensional list is:")。 结果,包括其元素的嵌套列表的形状将在输出中可见。

4. 计算长度

这些行使用 length() 函数来计算和显示嵌套列表(包括第一个内部列表 (new_list1))的长度。 使用 cat() 函数将结果与说明文本一起显示。

使用堆叠列表

嵌套的 for 循环可以访问列表的每个条目。 外循环一直持续到外列表的最大元素数。 内部循环由各个内部列表的长度组成。

以下 R 代码表示处理二维列表

输入

输出

Two Dimensional List in R Programming

删除或更新因子

内部列表的删除或更改

内部列表可以通过单级索引来更改。 相应的内部列表元素大约是一个新成本。 如果新值与 NULL 相同,则删除该元素或以其他方式进行修改。

删除或更新内部列表的元素

可以使用双级索引来删除或更改内部列表的元素。 要更改的元素设置为新值。 如果该值为 NULL,则删除相应的详细信息。 否则,修改。

列表的修改

以下 R 代码用于修改列表

输入

输出

Two Dimensional List in R Programming

列表的删除

以下 R 代码用于删除列表

输入

输出

Two Dimensional List in R Programming

修改 1 后,内部列表 1 的大小减少了 1。更改 2 后,第二个内部列表被删除,并且外部列表的尺寸减少了 1。

R 编程中二维列表的应用

二维列表(也称为矩阵)是 R 编程中通用的事实系统。 它们在各个领域都有许多应用程序。 以下是 R 编程中 -dimensional 列表的一些常见应用程序

  1. 图像处理: 在图像处理任务中,快照可以表示为像素值的矩阵。 矩阵用于各种图像处理操作,例如滤波、变换和特征提取。
  2. 数据存储和操作: 矩阵通常用于以表格形式存储和控制记录。 它们是信息分析和统计学的基本形式。
  3. 线性代数: 矩阵在线性代数运算中起重要作用,包括求解线性方程组、计算特征值和特征向量以及执行矩阵分解。
  4. 空间数据分析: 可以通过矩阵的使用来表示地理空间记录,包括 GIS(地理信息系统)信息。 这有利于空间分析、绘图和地统计学。
  5. 数学建模: 矩阵用于数学建模,以表示方程系统并解决物理学、工程学、经济学和其他领域的问题。
  6. 机器学习: 在设备学习中,数据集通常表示为矩阵,其中行代表样本,列代表功能。 这种格式与许多系统学习算法兼容。
  7. 统计和数据分析: 矩阵被广泛用于统计评估和信息操作。 R 中的许多统计功能都将矩阵作为输入,从而允许进行高效的计算。
  8. 网络和图: 矩阵用于表示图论中的邻接矩阵,从而方便了对网络的操作,包括查找路径、计算中心性度量和检测社区。

最后,R 编程中的一个基本数据结构,二维列表(矩阵)被用于各种学科,包括数据分析、统计、图像处理、机器学习等。 它们对于处理结构化数据和执行数学计算至关重要,这要归功于它们的适应性。