R Java集成中的问题

时间:2016-08-14 01:43:30

标签: java r rjava

我有一个主java程序,它将从另一个类运行一个函数。我在R中有脚本,它与我的Java项目中的函数类相连。我将从我的代码中给出一个简单的例子。

App.java

public static void main(String[] args) {
    String input = "Hello world.";
    ResultSequence sequence = new ResultSequence();
    sequence.runResultSeq(input);
}

ResultSequence.java

public class ResultSequence {
    String x;
    private Rengine r;

    public void runResultSeq(String x) { 
       Rengine re = new Rengine(new String[]{"--no-save"}, false, null);
       System.out.println(re.eval("x =" + x));
       File rScript = new File("src/application/rscript/check.R");
       System.out.println(rScript);
       System.out.println(re.eval("source(\""+rScript.toURI().getPath().substring(1)+"\")"));
       System.out.println(re.eval("abc <- abc(x)"));
       System.out.println(r.eval("abc"));
       re.end();
    }
}

check.R

abc <- function(x) {
  library(stringi)
  library(stringr)
  y = substring(x,4)
  y
}

我在Java中运行我的主代码,但是有一个错误,好像代码没有读取R脚本。我使用rJava,我是R Java Integration的初学者。请帮助我解决问题,因为我不知道应该修复我的代码中哪一个。我很抱歉我的愚蠢问题,但我已经搜索了许多来源并对其进行了实践,但它并没有改变我的错误结果。谢谢你的回答。

0 个答案:

没有答案