问题标签 [renviron]
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.
r - 从powershell运行Rscript时找不到.Renviron变量?
我有一个从 Rstudio 运行时完美运行的 R 脚本。它使用一个.Renviron
文件来提供可见的环境变量Sys.getenv()
(所以我知道它有效)。
但是,当我通过 powershell 运行完全相同的脚本时,R 脚本神秘地找不到那些环境变量(我证实了这一点print(Sys.getenv())
- 通过提供的环境变量.Renviron
无处可见。
问题
为什么.Renviron
从 powershell 运行 R 脚本时找不到变量(而不是在 RStudiom 中运行脚本时,一切正常)
我试过的
该.Renviron
文件当前保存在"C:/Users/Administrator/Documents/.Renviron"
检查normalizePath(Sys.getenv('R_HOME'))
退货"C:\\Program Files\\R\\R-3.6.0"
,所以我也尝试放在.Renviron
那里。没运气
基于此,我也尝试过Sys.getenv("C:/Users/Administrator/Documents/.Renviron")
,但再次没有运气
r - 更改 R 中的临时目录
首先,我知道以下讨论涉及同一主题。但是,按照说明,我仍然可以不更改临时目录。
我为本地用户安装了 Anaconda,然后安装了 R。当我尝试启动 R 时,出现以下错误
问题似乎是 /tmp 中没有可用空间。不幸的是,我需要管理权限来分配更多空间或删除 Rtmp 文件。
我遵循了其他讨论的一些答案,并将我的 Renviron 文件中的 TMPDIR 路径更改为本地文件夹。但是,这似乎被忽略了,因为我得到了完全相同的错误。我的 Renviron 文件如下所示:
,我用“user_name”替换我的实际用户名。我实际上很惊讶我的临时目录是根目录而不是在我的用户下。如果有人知道我的方法有什么问题,我将非常感谢一些帮助。
r - 创建 RStudio 项目时 .rprofile 不是源
在 Windows 7 中,我的 .Rprofile 位于自定义位置(不是R_HOME
,不是HOME
)。R_ENVIRON_USER
我通过指向该位置的用户环境变量通知操作系统该位置。其他任何地方都没有其他 .Rprofile。
在 RStudio 中,我将默认工作目录(不在项目中时)设置为同一位置
当不在项目中时,.Rprofile 的来源是正确的。但是,在另一个项目中或创建新项目时,.Rprofile不是 source。
我如何确保我的 .RProfile 即使在项目内部也有正确的来源(假设项目目录中没有特定于项目的 .RProfile)?我认为环境变量会解决这个问题。
回答和更新
我必须设置环境变量R_PROFILE_USER
并提供 .Rprofile 的完整路径和文件名。在命令提示符下,我输入:
SETX R_PROFILE_USER "C:\Users\tspeidel\OneDrive\.Rprofile"
r - 在 R 中找不到 stats 包
我真的遇到了 RStudio 的问题。几天前它一直运行良好。然后它说我需要最新版本的 RTools。我试图安装它,但不认为它成功。但是现在我无法在 R 中加载任何内容。在启动 RStudio 时,我收到以下消息:
我已经查找了这个问题的解决方案,人们说要删除 /Renviron 但我不知道这会不会更糟。
以下是我在 R 中输入的一些结果:
我真的不明白出了什么问题。任何人都可以帮忙吗?
r - 将 .Renvrion 添加到 github 存储库中隐藏
如果它是重复的,我很抱歉,但是我已经阅读了很多线程,但没有一个有效,
只有少数与 R 相关。
我想使用github actions
. 所以这样做我需要传递一些密钥、令牌等。
但是我想在我的回购仍然公开的时候将它们隐藏起来。到目前为止我所做的是:
git add -A
(.gitignore 不包括 .Renviron)
git commit -m 'message'
git push
(现在可以使用,但我的 .Renviron 仍然可见)
git add .gitignore
(在 .gitignore 中添加 .Renviron,而 .Renviron 在 github 存储库中)
git commit -m 'message'
git push
(现在可以使用,但 .Renviron 仍然公开可见)
然后
git rm .Renviron
git commit -m 'message'
git push
(这一次您可以想象找不到所需的环境对象。)
任何帮助表示赞赏。我觉得有点接近解决方案,但我做错了什么或
错过了什么
r - 在 .Rprofile 和 .Renviron 中设置 R 的默认行为。了解在哪里做什么
我试图了解文件 .Renviron 和 .Rprofile 的使用。如果我理解正确的话,.Rprofile是一种启动脚本,来源于 R 代码,它设置用户可能一直需要的选项和环境变量,或者用于特定项目。另一方面,.Renviron在 .Rproject 之前加载,并且仅定义环境变量。
根据设计,我知道 R 将加载用户或项目级别的 .Renviron 和 .Rprofile 文件,但它不会同时加载用户和项目级别的文件。本质上,R 只会加载项目特定的 .Rprofile 和 .Renviron 文件,前提是它们已定义。也就是说,将一些库和函数放在用户级别 .Rprofile 中是谨慎的,因为我几乎一直都需要它(例如,我经常使用dplyr
语法),同时我想加载特定于项目的库和函数。
.Renviron 文件的目的对我来说更加难以捉摸。据我了解,它的目的是存储环境变量,比如密码、API 密钥等。但是,我也可以使用 .Rprofile 在 .Rprofile 中设置环境变量Sys.setenv()
。例如,我在项目的 .Rprofile 中设置了环境变量,以便将并行化与以下包一起使用:
由于 .Renviron 不使用代码,我的假设是我可以使用以下语法将此行放入 .Renviron 文件中:
但是,我发现关于如何在 .Renviron 中设置环境变量的有用信息很少,以及在这里放什么是可取的。
因此,我的问题是:
- 在项目中工作时,如何同时加载用户和项目级别的 .Renviron 和 .Rproject 文件?
- 我通常会在 .Renviron 中放入哪些环境变量?(任何关于如何设置变量的列表或教程将不胜感激。)
- 在哪些情况下,建议将环境变量添加到 .Renviron 而不是
Sys.setenv()
在 .Rprofile 中使用,反之亦然?