如何在R中禁用source()文件echo?

时间:2014-06-11 21:40:18

标签: r

根据the documentationsource()采用默认选项echo = verbose,在测试功能时可以快速变老。如何以简单的方式将source()设置为FALSE(例如.Rprofile设置)?

我尝试设置options(echo=FALSE),但在终端功能中抛出了一把扳手:

> options(echo=FALSE)

5
[1] 5
options(echo=TRUE)
> 

4 个答案:

答案 0 :(得分:3)

怎么样

library(Defaults)
setDefaults("source",echo=FALSE)

这与this question的答案类似(但不完全相同/稍微简单)。

由于Defaults软件包已在问题得到解答后6个月归档,因此您必须从here获取或使用devtools::install_version("Defaults","1.1-1"),或者回到@ KonradRudolph的答案。

答案 1 :(得分:2)

重新定义source

source = function (file, local = FALSE, print.eval = echo,
                   verbose = getOption("verbose"),
                   prompt.echo = getOption("prompt"), max.deparse.length = 150,
                   chdir = FALSE, encoding = getOption("encoding"),
                   continue.echo = getOption("continue"), skip.echo = 0,
                   keep.source = getOption("keep.source")) {
    base::source(file, local, echo = FALSE, print.eval, verbose, prompt.echo,
                 max.deparse.length, chdir, encoding, continue.echo, skip.echo,
                 keep.source)
}

太可怕了,我知道。但有效。

答案 2 :(得分:1)

如果您使用的是RStudio,Source按钮可以执行" Source"或者"来源与Echo"使用小下拉箭头在之间进行选择。然后该按钮将继续使用最后选择的选项运行。

答案 3 :(得分:0)

不,来源不接受“默认选项”。它需要logical参数echo,默认值为verbose。如果调用者也没有传递verbose,那么该参数默认为getOption("verbose")。因此,如果您想设置全局选项以影响输入文本的回显,则可以执行options(verbose=FALSE)。顺便说一句,这是默认情况下此选项的设置,所以如果你设置不同,你只需要改变上面的任何一个。