我是R的新手,我试图从我的Java代码中调用R.我正在使用rJava但面临错误,所以切换到rCaller。但是,在执行示例测试代码时,输出将作为空文件。任何人都可以对此有所了解吗?非常感谢帮助!
注意:Try_prediction.r是我写的Rscript。当我在RStudio中进行var <- try_prediction()
时,所需的结果即将到来。
类似于here面临的这个问题。
我的代码:
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>