过去,我曾使用R CMD BATCH
在Linux服务器上的命令行中执行R代码。我使用的语法是
R CMD BATCH --no-save --no-restore rcode.r output.txt
以上代码将控制台输出写入output.txt
,可以在脚本运行时对其进行监视。 Rscript
也可能吗?我宁愿使用Rscript
,因为听说R CMD BATCH
已过时。
答案 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