我正在尝试从java执行R文件,这是我尝试过的代码。
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 file
myinput<-function(){
//loading a csv file,reading it and creating an excel file(Working when it is run from r directly)
}
myinput()
上面的rcaller java代码没有做任何事情。如果我做错了什么请帮忙,我需要做得非常糟糕。如果还有其他方法可以实现这一点,请建议!
答案 0 :(得分:0)
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 source的源代码,可以看出
public void R_source(String sourceFile) {
addRCode("source(\"" + sourceFile + "\")\n");
}
使用字面给定的R文件将函数定义为R字符串。