2

这是我的问题:我想从 scala 以批处理模式执行 R 脚本。这是我尝试使用的代码:

import scala.sys.process._
"R CMD BATCH --no-save --no-restore '--args a=1' /path/test.r".!

当我将其剪切并粘贴到终端中时,该命令有效。但是当我通过 scala 尝试时,'--args 被解释为脚本文件,我收到致命错误:

Fatal error: cannot open file ''--args': No such file or directory

如果我删除参数块,一切正常:

import scala.sys.process._
"R CMD BATCH --no-save --no-restore /path/test.r".!

关于如何恢复预期的“正常”执行的任何猜测?

提前致谢,

BHLB

4

1 回答 1

1

如果您在 Windows 上运行 R,则需要使用 "s 而不是 's。例如,这适用于 Windows:

R CMD BATCH --no-save --no-restore "--args a=1" /path/test.r

从 Scala 调用时,为了方便起见,您可以使用字符串文字:

"""R CMD BATCH --no-save --no-restore "--args a=1" /path/test.r""".!
于 2012-12-19T21:28:01.253 回答