如何使用Rscript将控制台输出写入文本文件,就像使用R CMD BATCH一样

时间:2018-11-26 17:24:06

标签: r linux

过去,我曾使用R CMD BATCH在Linux服务器上的命令行中执行R代码。我使用的语法是

R CMD BATCH --no-save --no-restore rcode.r output.txt

以上代码将控制台输出写入output.txt,可以在脚本运行时对其进行监视。 Rscript也可能吗?我宁愿使用Rscript,因为听说R CMD BATCH已过时。

2 个答案:

答案 0 :(得分:1)

经过一番挖掘,我发现,至少在我使用的 Linux 系统上,Rscript 只是一个方便的函数。如果你打电话

Rscript --verbose foobar.r

你会看到底层调用是:

running
  '/usr/lib/R/bin/R --no-echo --no-restore --file=foobar.r'

这意味着 --no-echo 被烘焙到 Rscript 中。

所以解决办法就是运行

usr/lib/R/bin/R --no-restore --file=foobar.r > output.txt

--no-echo 被删除,输出被重定向到@MrFlick 建议的文本文件。除了输出之外,命令也会被回显。

如果您希望默认删除 Rscript,您可以为 --no-echo 创建一个新别名。

答案 1 :(得分:0)

只需将输出重定向到文件,就像使用任何其他命令行输出一样

Rscript rcode.r > output.txt