似乎当我littler
从命令行调用时,它将 source ~/.Rprofile
. 有没有办法阻止它采购〜/ .Rprofile?
问问题
46 次
1 回答
1
它是双向的——我们现在阅读~/.Rprofile
的内容很大程度上是因为用户想要这个功能,而不是你不想要它:)
但是有一个(简单易行的)解决方法:使用interactive()
. 见证:
edd@rob:~$ r -e 'print(interactive())'
[1] FALSE
edd@rob:~$ r -i -e 'print(interactive())'
Please do not apply R like a magic answers box, because you can mislead
others and cause harm.
-- Jeff Newmiller (about how much statistical knowledge is needed
for using R)
R-help (May 2016)
[1] TRUE
edd@rob:~$
那么这里发生了什么? 首先,我们进行了测试interactive()
。它回来了FALSE
。这是默认设置。没啥事儿。
其次,我添加了enfore交互模式-i
的开关。它打印了,但更多。为什么?TRUE
好吧,我~/.Rprofile
的本质看起来像这样
## header with a few constant settings, mostly to options()
## TZ setting and related
local({ # start of large block, see Rprofile.site
if (interactive()) {
if (requireNamespace("fortunes", quietly=TRUE)) {
print(fortunes::fortune())
#more stuff
}
})
它控制着我在控制台、Emacs/ESS、RStudio 中的交互式 R 会话,以及r
来自crontab
.
简而言之:是的,它总是被阅读。但是,是的,您也可以跳过不想执行的部分。
于 2020-04-14T00:48:56.060 回答