这是我的问题:我想从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
答案 0 :(得分: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""".!