问题标签 [r-environment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
10956 浏览

r - 用于分离 R 中环境的源脚本,而不是全局环境

有没有办法让Rsource()中的脚本作为父级附加到全局环境()?.GlobalEnv

目前,当我获取脚本时,该脚本的所有变量和函数都会出现在我的全局(交互式)环境中。我想在搜索路径中包含这些变量和函数,但不在.GlobalEnv. 也就是说,我希望源脚本的行为类似于附加包,它附加在全局环境和基础环境之间(参见Advanced R Environments中的图)

在此处输入图像描述

0 投票
0 回答
59 浏览

r - 覆盖 R 中命名空间未导出的函数

在 R 中,似乎有一种方法可以覆盖命名空间中的函数(参见此处)。我想知道,是否可以覆盖未导出的包中的函数。

例如,ggplot_build()由 导出ggplot2。我可以使用以下代码示例覆盖它:

但是,有没有办法覆盖print.ggplot()不是由 导出的函数ggplot

我可以通过三元组访问未导出的函数,:例如ggplot2:::print.ggplot(). 有没有办法覆盖这些功能?

0 投票
2 回答
164 浏览

r - R 将 RSelenium 驱动程序环境作为函数参数传递

我可能没有看到明显的东西,无论如何我想创建函数来自动从远程驱动程序已经处理的 url 中提取文本。我想将 xpath 表达式和可以找到远程驱动程序的环境作为函数参数传递

此函数的可能调用可能是fun.XpathExtractText("//*",env) 但在调用构建部分后不久出现错误消息:

但是如果我直接在 env 中执行从错误消息中提取的调用,它将起作用。

我尝试将环境也作为环境传递 remdir 本身,因为它是一个环境,但这根本不算数,函数在调用构建后卡在同一点。我不知道什么?

0 投票
1 回答
875 浏览

r - R:在环境中评估脚本

我想在指定环境中评估的脚本中加载库函数。

例子:

为方便起见,假设评估环境是基础环境:

替换loadfonts()extrafont:::loadfonts()效果更好,但仍然给出:

因为loadfonts()需要pdfFonts()grDevices.

0 投票
1 回答
31 浏览

r - 定义只能从给定函数访问的环境

我有以下功能设计用于在循环之外打印进度条,它运行良好,但在全局环境中创建了一个环境对象。

我对环境不太满意,但我认为我可以将这个环境设置为只能从我的函数中访问,而不管全局环境,我该怎么做?

我标记了创建环境的行。

请运行完整代码以查看该函数在做什么。

我的问题总结:

0 投票
1 回答
36 浏览

r - 为什么必须使用两轮表达式引用来定义 local({...})?

我试图了解 R 的local功能是如何工作的。有了它,你可以打开一个临时的局部作用域,这意味着发生在local(最值得注意的是变量定义)中的东西,保留在local. 只有块的最后一个值被返回给外界。所以:

local定义如下:

据我了解,会发生两轮表达式引用和后续评估:

  1. eval(quote([whatever expr input]), [whatever envir input])由 生成为未评估的调用substitute
  2. 调用在local的调用者框架(在我们的例子中是全局环境) [whatever expr input]中进行评估,因此在[whatever envir input]

但是,我不明白为什么第 2 步是必要的。为什么我不能local像这样简单地定义:

我认为它会expr在空环境中评估表达式?所以定义的任何变量都expr应该存在envir并因此在结束后消失local2

但是,如果我尝试这个,我会得到:

因此a泄漏到全球环境。为什么是这样?

编辑:更神秘:为什么它不会发生:

0 投票
1 回答
70 浏览

r - call return from child frame

How can I return a value in a function, through another function, see example here :

fun1 should stop at first_try and return 1, and if second_try had worked it would have returned 2.

Is such a thing possible ?

0 投票
1 回答
129 浏览

r - 如何检查环境是否是包命名空间

我正在寻找一种方法来检测环境是否是包命名空间。期望的行为:

0 投票
1 回答
59 浏览

r - 将数据读入 R

我正在尝试将 msigdb 数据库中的数据读取到我的 R 环境中,但是我无法将其读取为我想要的格式。现在,当我读取其中的数据时,它被读取为“整数”类型,我希望它作为“字符”类型或任何其他类型读取,这样当我在数据帧/矩阵之间传输数据时,我不会得到整数值用于项目而不是构成项目名称的书面字母。

这是我目前拥有的,但就像我说的那样,当typeof(df[1,1])我得到"integer".

总结一下:在读取包含应该是字符的列的数据后,当前行为是:typeof(df[1,1)]产生"integer"。期望的行为是:typeof(df[1,1]]产生"character"

可重现的例子:

谢谢!

0 投票
1 回答
119 浏览

r - 如何删除除环境之外的所有变量

我想删除所有全局变量,但其中包含变量的已定义环境除外。

说我有以下内容:

还有一些全局变量:

我知道我可以删除所有全局变量,但一个setdiff

但是当我调用以下命令时,我得到一个错误。这是预期的,因为my.env实际上是一个指针,如果我没记错的话

如何删除所有变量但保留my.env?(其中包含变量)