![](/img/trans.png)
[英]What is the difference betwwen `Rprofile`,`Renviron` and `Rprofile.site`,`Renviron.site`?
[英]Setting R's default behaviour in .Rprofile and .Renviron. Understanding what to do where
我试图了解文件 .Renviron 和 .Rprofile 的使用。 如果我理解正确的话, .Rprofile是一种启动脚本,来源于 R 代码,它设置用户可能一直想要的选项和环境变量,或者用于特定项目。 另一方面, .Renviron在 .Rproject 之前加载,并且仅定义环境变量。
根据设计,我知道 R 将加载用户或项目级别的 .Renviron 和 .Rprofile 文件,但它不会同时加载用户和项目级别的文件。 本质上,R 只会加载项目特定的 .Rprofile 和 .Renviron 文件,前提是它们被定义。 也就是说,将一些库和函数放在用户级别 .Rprofile 中是明智的,因为我几乎一直都需要它(例如,我dplyr
使用dplyr
语法),同时我想加载项目特定的库和函数。
.Renviron 文件的目的对我来说更难以捉摸。 据我了解,它的目的是存储环境变量,比如密码、API密钥等。 但是,我也可以使用Sys.setenv()
在 .Rprofile 中设置环境变量。 例如,我在项目的 .Rprofile 中设置了环境变量,以将并行化与以下包一起使用:
Sys.setenv(OMP_NUM_THREADS=parallel::detectCores())
library(OpenMx)
由于 .Renviron 不使用代码,我的假设是我可以使用以下语法将此行放在 .Renviron 文件中:
OMP_NUM_THREADS=[number of cores]
但是,我发现很少有关于如何在 .Renviron 中设置环境变量的有用信息,以及建议放在这里的内容。
因此,我的问题是:
Sys.setenv()
向 .Renviron 添加环境变量,反之亦然?但是,我也可以使用 Sys.setenv() 在 .Rprofile 中设置环境变量。
“是的,但是”这些可以在标准 POSIX 行为下不会改变之前必须设置变量的运行过程。
我就像你试图通过~/.Rprofile
(甚至整个机器的Rprofile.site
)尽可能长的时间,但最终在.Renviron
添加了一些东西
R_LIBS_USER
改为""
因为我不想在下面安装 ~R_MAX_NUM_DLLS
必须在这里reticulate
选项R CMD check
选项所以在某些情况下,您实际上必须使用.Renviron
(或Renvirob.site
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.