斯卡拉 - 系统命令 - R批处理 - 单引号不适用于转义参数块

这是我的问题:我想在scala中以批处理模式执行R脚本。以下是我尝试使用的代码:斯卡拉 - 系统命令 - R批处理 - 单引号不适用于转义参数块

import scala.sys.process._ 

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

该命令在我将其剪切并粘贴到终端中时起作用。但是,当我尝试通过斯卡拉,“--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

回答:

如果您在Windows上运行R,你需要使用“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""".! 

以上是 斯卡拉 - 系统命令 - R批处理 - 单引号不适用于转义参数块 的全部内容, 来源链接: utcz.com/qa/261350.html

回到顶部