我正在尝试从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文件
myinput<-function(){
//loading a csv file,reading it and creating an excel file(Working when it is run from r directly)
}
myinput()
上面的rcaller java代码不执行任何操作。如果我做错了,请提供帮助,我需要做得很差。如果还有其他方法可以实现,请提出建议!
最佳答案
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字符串。
关于java - Rcaller从.R文件执行功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23514489/