我对 R 比较陌生,并试图从我的 Java 代码中调用 R。我正在使用 rJava,但遇到错误,因此切换到 rCaller。但是,在执行示例测试代码时,输出是空文件。任何人都可以对此有所了解吗?帮助将不胜感激!
注意:Try_prediction.r 是我写的一个 Rscript。当我var <- try_prediction()
在 RStudio 中进行操作时,所需的结果即将到来。
这与这里面临的这个问题类似。
我的代码:
import rcaller.RCaller;
import rcaller.RCode;
import rcaller.exception.ExecutionException;
public class Second_R {
public static void main (String args[]){
try {
RCaller rcall = new RCaller();
rcall.setRscriptExecutable("D:/Program Files/R/R-3.2.0/bin/x64/Rscript.exe");
RCode code = new RCode ();
code.clear();
code.R_source("D:/650444/RScript/matchData.R");
code.R_source("D:/650444/RScript/try_prediction.R");
code.addRCode("library('forecast')");
code.addRCode("var <- try_prediction()");
rcall.setRCode(code);
rcall.runAndReturnResult("var");
try {
System.out.println(rcall.getParser().getXMLFileAsString());
//String[] result = rcall.getParser().getAsStringArray("var");
//for(int i=0;i<result.length;i++)
//System.out.println(result[i]);
} catch (Exception e) {
System.out.println("Error in accessing XML");
}
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
我的输出:
<?xml version="1.0"?><root></root>