R 编程中的环境

14 Nov 2024 | 4 分钟阅读

引言

在 R 编程中,我们可以说环境是一种虚拟空间,用于在编程语言的解释器启动时触发。 简单来说,我们可以说环境是所有变量、对象和函数的集合。 我们也可以说环境是一个顶层对象,它存储与某些值相关联的所有名称和变量的集合。 在本文中,我们将学习如何为 R 编程创建环境,然后列出所有环境,然后从环境中删除变量。 之后,我们将从环境中搜索变量。

为什么环境不同于列表?

以下是一些环境与 R 编程中的列表不同的原因。

  • 环境中所有可用的对象都具有相同的名称。
  • 环境也有一个父环境。
  • 环境遵循引用语义。

创建一个新环境

在 R 编程中,我们借助 new.env() 函数创建了环境。 在该函数中,我们可以借助 $ 或 [[ ]] 运算符访问变量。 但是在 R 编程中,每个变量都将存储在不同的内存位置。 R 编程中有四个特殊的可用环境。 如下所示。

  • Globalenv().
  • Baseenv().
  • Emptyenv().
  • Environment().

语法

我们可以借助以下语法创建环境。

参数

这里,我们必须传递一个参数作为 hash。 Hash 表示逻辑值。 如果环境使用哈希表,那么我们必须将参数传递为 TRUE。 否则,我们必须传递 FALSE。

如果您想了解有关所有其他可用参数的更多信息,那么我们必须转到控制台并传递以下命令

让我们通过一个例子来理解这一点。

示例-1

输出

Environments in R Programming

说明

在上面的代码中,我们创建了一个新环境。 之后,我们在该环境中分配了一些值。 然后我们打印该环境变量。

列出所有环境

正如我们上面讨论的,所有环境都有父环境。 但是有些空环境没有任何父环境。 我们可以通过键入 ls() 函数和 search() 函数来查看这些环境。 借助 ls(),我们可以列出特定环境中变量的所有绑定。

语法

借助以下语法,我们可以实现 ls() 函数。

参数

ls() 和 search() 没有任何参数。

让我们通过一个例子来理解这一点。

示例-2

输出

Environments in R Programming

说明

在上面的代码中,我们借助 ls() 打印了环境中所有存在的空变量。

从环境中删除变量

在 R 编程中,我们可以借助 rm() 函数从环境中删除变量。 然而,它与删除整个列表不同。 因为整个列表包含空值,但是借助 rm() 函数,我们可以从环境中删除绑定。

语法

我们可以借助以下语法实现此目的。

参数

这里,… 表示应该通过该函数的对象列表。

让我们借助下面的例子来理解这一点。

示例-3

输出

Environments in R Programming

说明

在上面的代码中,我们删除了该环境中所有存在的环境变量,然后我们打印这些环境变量。

在环境中搜索变量或函数

在 R 编程中,借助 where() 函数,我们可以从环境中搜索任何变量或函数。 我们可以从 pryr 包中获取 where() 函数。 此函数采用两个参数。 这两个参数是从哪里开始搜索的环境以及要搜索的对象的名称。

语法

我们可以借助以下语法实现此目的。

参数

在这里,name 参数表示要查找的对象。

让我们借助下面的例子来理解这一点。

示例 4

输出

Environments in R Programming

说明

在上面的代码中,我们借助 where() 搜索了该文件。


下一个主题R 语言线性规划