我在ubuntu中使用R.返回的环境变量值是错误的。我将环境变量设置为值。磁盘崩溃后,我更改了它的值。但是R将始终返回旧值。我不知道R缓存旧值的位置并坚持返回旧值。
echo $WFDATA
/current/environment/value
R
> Sys.getenv('WFDATA')
[1] "/old/environment/value"
> Sys.setenv(WFDATA='/current/environment/value')
> Sys.getenv('WFDATA')
[1] "/current/environment/value"
> q()
Save workspace image? [y/n/c]: y
> Sys.getenv('WFDATA')
[1] "/old/environment/value"
>
不确定为什么R如此顽固以至于记住旧的价值。任何人都可以建议一种方法来解决这个问题?此问题出现在R会话和Rscript文件中。
答案 0 :(得分:1)
我找出了问题的根源。其他人在根位置设置了R环境。这样,环境始终是硬编码值。我使用Linux,这应该适用于大多数人。
in the /etc/R directory
ls
ldpaths Makeconf Renviron Renviron.site repositories Rprofile.site
您可以在Renviron和Renviron.site中设置环境变量 这些将在本机上的所有R会话中看到。格式与。相同 shell使用的那些。
VARNAME=somevalue
在用户的主目录中,您可以通过在“.Renviron”文件中重新定义KEY =值对来覆盖这些值。可以将新环境变量添加到此文件中。我还没有确认R会从用户的shell中学习并记住环境变量。其他人可以稍后更新。