Я относительно новичок в R и пытаюсь вызвать R из своего кода Java. Я использовал 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>
R code
естьerror
или результатNULL
, то файл будет пустым! Я предлагаю использоватьtryCatch
вR
, а в случаеerror
вернуть-1
или что-то подобное. - person Paul   schedule 25.02.2016