问题标签 [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 投票
1 回答
778 浏览

r - 从 Rstudio 增加 R Ubuntu 中的最大 DLL 数

我不断收到“达到的最大 DLL 数...”错误,但这里的解决方案从命令行对我不起作用(这取决于操作系统,我在 Linux 上)。继续阅读以了解我如何在 R 中增加 DLL。

0 投票
1 回答
77 浏览

r - 是否可以在 R 中通过一次调用来创建有状态函数?

我知道我可以adder使用以下工厂函数创建有状态函数adder_maker

该函数按预期递增并位于其自己的封闭环境中。

但是,如果我不想将工厂函数存储在中间变量中,那么内部函数最终会出现在全局环境中。

  1. 为什么 adder2 不与其匿名父级的环境相关联?
  2. 如果 adder2 存在于全局环境中,为什么它会返回 1(而不是Error: object 'x' not found,在尝试评估内部分配的 RHS 时,x+1)?
  3. 有没有其他聪明的方法来创建一个行为类似于 adder1 的函数,而不为父函数分配一个变量?
0 投票
1 回答
1905 浏览

r - 在受限环境中使用 `rmarkdown::render`

我有以下Rmd我调用的文件test.Rmd

我想通过以下方式调用渲染:

但它失败了:

第一个块很好,所以有些东西起作用了。如果我y在我的全局环境中定义,我可以在没有envir参数的情况下运行它并且它工作正常。

我想也许render不喜欢列表,所以让我们给它一个适当的环境:

但更糟糕的是,它没有找到print

现在文档提到使用该函数new.env,所以出于绝望,我尝试了这个:

现在它起作用了!

所以我对几件事感到困惑,回顾一下:

  • 为什么render识别列表(第一个块没有失败)但随后忽略块中的常规分配
  • 为什么我的第二次尝试不起作用,它与我的第三次尝试有何不同?
  • 这是一个错误吗?
  • 这样做的惯用方法是什么?
0 投票
1 回答
121 浏览

r - 如何重新排序搜索路径?

我想将环境(包或其他)附加到位置 2,并且我希望它留在那里。

大多数时候我可以使用librarywith来确保这一点,但我遇到了以下问题:pos=3tidyverse

tidyverse将其子包附加在pos = 2,我想要一条以search开头的路径:

我怎样才能做到这一点?

0 投票
1 回答
1507 浏览

r - 从 R 函数返回列表与环境

在以下两种情况下,使用其中一种有什么优势/劣势?Case-I 将其输出作为环境返回,Case-II 将其输出作为列表返回。

案例一:

案例二:

0 投票
1 回答
117 浏览

r - R Shiny - 第一个块中的数据集加载在第二个块中不存在......?

我用 library learnr构建的闪亮应用程序中有一个奇怪的错误。关于我刚刚加载并刚刚可视化的对象的错误“找不到对象”(意味着该对象不存在?)

虽然我没有可重现的示例,但你们中的一些人可能会理解是什么造成了错误:

  • 我有一个加载数据集的第一个块 {r load}。这里没有错误,我什至可以可视化数据集(截图如下)

  • 然后我有第二个块,我想在其中操作数据集。但它告诉我数据集不存在!怎么可能,我之前只是想象了一大块?!...

在此处输入图像描述

我不明白数据集如何存在于一个块中,而不是另一个。这是否意味着数据集未在全局环境中加载?是学习者图书馆的问题吗?

也许有人会有一个想法,或者我可以测试的东西。先感谢您。

编辑: 问题与环境/工作区有关。在第一个块中,即使我加载数据集,它也不会存储在环境中。我在第二个块中测试了该函数ls(),它告诉我工作区中没有对象。加载的数据集不在这里,我不知道为什么......

在此处输入图像描述

0 投票
0 回答
128 浏览

r - 锁定环境但不锁定 .Random.seed

是否可以锁定全局环境并仍然允许.Random.seed设置或删除?的默认行为lockEnvironment()对于我的用例来说过于激进。

背景

drake7.0.0 版将有一个新的保障措施来保护再现性。

错误来自对 的调用data(mtcars)。构建的行为x本身就会改变x's 的依赖关系。没有护栏,工作流程就会自行失效。

但是有了护栏,我们会遇到像https://github.com/ropensci/drake/issues/749https://github.com/ropensci/drake/issues/675#issuecomment-458222414这样的边缘案例。

0 投票
1 回答
850 浏览

r - 创建 .Renviron 中设置的用户库目录的最佳方法是什么?

我正在努力寻找为我的团队设置 R 的最佳方式。因为我们的机构在网络共享上拥有用户主目录,所以 R 用户库默认为此网络共享。经过一番研究,我发现在 .Renviron 文件中设置 R_LIBS_USER 是最有用的(就像rstudio 论坛中所述),正如同一篇文章中所述,它不会在安装新版本的 R 后自动创建此目录,因此 . libPaths() 默认为 C:/Program Files/R/../.. (忽略 R_LIBS_USER)

在下面的问题中,同样的问题是在 6 年前提出的。接受的答案没有帮助,因为它建议制作一个与版本无关的用户库。我不想在我的库中使用这些旧包。 为什么每次 R 升级都必须手动创建目录“~/R/%p-library/%v”?

我也尝试在 .Rprofile 中设置 .libPaths,但使用 .Renviron 文件感觉更高效,所以我更喜欢使用它。这也允许用户在他们的项目中使用他们自己的 .Rprofile 设置。

我目前的工作方式是:

  • .Renviron 文件R_LIBS_USER=C:/Users/[user]/R/%p-library/%v
  • 每个用户在新的 R 安装后调用此命令dir.create(Sys.getenv('R_LIBS_USER'), recursive = TRUE)

我想知道自动创建 R_LIBS_USER 文件夹的最佳/最干净的设置是什么,因此重新安装 R 不需要用户可能忘记的任何手动操作。

0 投票
1 回答
171 浏览

r - 当我“文件/打开项目...”时更改 RStudio 打开的默认目录

当我单击“文件/打开项目...”时,RStudio 在“~”打开我的主目录,但我想在“~/Documents/coding/”打开我存储所有 Rproject 的目录。如何更改 RStudio 打开项目时打开的默认目录?

我试过添加全局变量

HOME='~/Documents/coding'

到我的 .Rprofile 和 Renviron 文件,但这并没有改变打开的默认目录,即使我重新启动了 RStudio。

0 投票
1 回答
84 浏览

r - 使用glue::glue时处理命名空间的更好方法

我想创建一个本身使用 awesome 函数的glue::glue函数。

但是,当我想粘合一个存在于函数和全局环境中的变量时,我发现自己正在处理一些命名空间问题:

我宁愿保留以x包一致性命名的变量。

我最终做了这样的事情,到目前为止效果很好,但只是推迟了问题(很多,但仍然):

有没有更好/更清洁的方法来做到这一点?