我正在尝试使用RCaller从Java连接R,这是我的代码

RCaller caller = new RCaller();
RCode code = new RCode();
caller.cleanRCode();
caller.setRscriptExecutable("C:/Program Files/R/R-3.0.2/bin/Rscript.exe");
code.addRCode ("source(\"D:/Data Mining workspaces/Workspace/CQpackage/First_try.R\")");
code.addRCode("myinput()");
caller.setRCode(code);
caller.runAndReturnResult("Done");


First_try.R包含函数定义,该函数称为myinput()

当我运行此程序时,出现此错误,我无法理解原因。请帮忙

rcaller.exception.RCallerExecutionException: Can not run C:/Program Files/R/R-3.0.2/bin/Rscript.exe. Reason: java.io.IOException: Cannot run program "C:/Program": CreateProcess error=2, The system cannot find the file specified
at rcaller.RCaller.runAndReturnResult(RCaller.java:393)

最佳答案

尝试使用runOnly()代替runAndReturnResult()

我想runAndReturnResult("done")将运行您的代码并返回尚未初始化的变量“ done”中的值。

因此,只需使用runOnly()即可运行您的代码。如果需要查看结果,请尝试将结果重定向到任何流或控制台。

09-25 20:43