Използвам RCaller за извикване на R от Java. Вижте следния Java код:
RCaller caller = new RCaller();
RCode code = new RCode();
caller.setRscriptExecutable("/usr/bin/Rscript");
caller.cleanRCode();
String x = "is.installed <- function(mypkg){ \n" +
"is.element(mypkg, installed.packages()[,1])\n"+
"}\n" +
"is.installed(\"bbmle\")";
StringBuffer s = new StringBuffer(x);
code.setCode(s);
System.out.println(x);
caller.setRCode(code);
caller.redirectROutputToConsole();
caller.runOnly();
Ето изхода на Java. Забележете как Rcaller е решил да добави q
(вижте втория до последния ред в изхода по-долу) в края на R кода. за какво е всичко това Обърнете внимание, че когато отпечатам изхода, там няма q
.
is.installed <- function(mypkg){
is.element(mypkg, installed.packages()[,1])
}
is.installed("bbmle")
Error:Error: unexpected symbol in "is.installed("bbmle")q"
Error:Execution halted