Я пытаюсь выполнить R файл из java, вот код, который я пробовал.
RCaller caller = new RCaller();
RCode code = new RCode();
caller.setRscriptExecutable("D:\\R\\R-3.0.2\\bin\\Rscript.exe");
code.clear();
caller.setRCode(code);
code.R_source("D:\\Data\\Workspace\\Cpackage\\try.R");
caller.setRCode(code);
caller.runOnly();
Файл try.R
myinput<-function(){
//loading a csv file,reading it and creating an excel file(Working when it is run from r directly)
}
myinput()
Вышеупомянутый код java-кода rcaller ничего не делает. Пожалуйста, помогите, если я делаю что-то неправильно, мне нужно сделать это очень плохо. Если есть какой-то другой способ достичь этого, пожалуйста, предложите!
RCaller не изменяет формат пути Java, который указан в
code.R_source("D:\\Data\\Workspace\\Cpackage\\try.R");
в формате R. Это создает R-код, например
source("D:\\Data\\Workspace\\Cpackage\\try.R")
поэтому вам нужно изменить его на
code.R_source("D:/Data/Workspace/Cpackage/try.R");
Хорошо видеть исходный код в источнике Rcaller, можно видеть, что
public void R_source(String sourceFile) {
addRCode("source(\"" + sourceFile + "\")\n");
}
определяет функцию с буквально заданным R файлом в виде строки R.