我正在尝试使用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()
即可运行您的代码。如果需要查看结果,请尝试将结果重定向到任何流或控制台。