Java 内部的 R

2022-09-03 05:52:32

从 Java 中调用 R 功能的最佳方式是什么?

我正在寻找一种快速,简单和可靠的方法,使用我的Java应用程序在R中制作标准的2d散点图和直方图。我想知道在快速Google搜索中出现的哪些软件包/接口最方便使用。

我期待您的建议!


答案 1

使用 JRI:http://www.rforge.net/JRI/。它与rJava捆绑在一起,包括一些用法示例。

一个非常简单的例子是这样的:

import java.io.*;
import java.awt.Frame;
import java.util.Enumeration;

import org.rosuda.JRI.Rengine;
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.RVector;
import org.rosuda.JRI.RMainLoopCallbacks;

public class rJavaTest {

    public static void main(String[] args) {

        Rengine re=new Rengine(args, false, new TextConsole());
        REXP x;
        re.eval("print(1:10/3)");
        System.out.println(x=re.eval("iris"));
        RVector v = x.asVector();
        if (v.getNames()!=null) {
            System.out.println("has names:");
            for (Enumeration e = v.getNames().elements() ; e.hasMoreElements() ;) {
                System.out.println(e.nextElement());
            }
        }

        if (true) {
            System.out.println("Now the console is yours ... have fun");
            re.startMainLoop();
        } else {
            re.end();
            System.out.println("end");
        }
    }
}

答案 2

有一种叫做 http://www.renjin.org/

我喜欢它的一件事是部署,虽然要求你的应用程序用户将下载R,但不会,它只使用运行。JRIjrirenjinJVM


推荐