我的应用程序必须执行R操作,例如:

m = matrix(sample(0:1,100, rep=T),ncol=10)

结果应可用于Java应用程序。

Rserve package将R桥接到其他语言,因为它充当TCP/IP服务器。我已经阅读了该网站,但不知道如何制作可以使用Rserve的最简单的应用程序。

制作使用Rserve从Java执行R命令的简单Eclipse应用程序需要什么步骤?

最佳答案

下载部分有Rserve的二进制版本(www.rforge.net/Rserve/files/我具有R 2.13和Windows xp版本,因此我需要下载Windows二进制:Rserve_0.6-8.zip(541.3kb,已更新:2012年4月18日星期三07:00:45))。将文件复制到包含R.DLL的目录中。从CRAN安装Rserve之后

install.packages("Rserve")

在R中(我有RStudio-方便的东西:Download RStudio IDE)。
从R内部启动Rserve,只需键入
library(Rserve)
Rserve()

请在任务管理器中运行-Rserve.exe。
在Eclipse中创建Java项目后,在该项目下创建一个名为lib的目录。糊
2个jar在这里RserveEngine.jar和REngine.jar(www.rforge.net/Rserve/files/)。不要忘记在Java项目的Properties中添加此jar。在新的类(class)代码中:
import org.rosuda.REngine.*;
import org.rosuda.REngine.Rserve.*;

public class rserveuseClass {
    public static void main(String[] args) throws RserveException {
        try {
            RConnection c = new RConnection();// make a new local connection on default port (6311)
            double d[] = c.eval("rnorm(10)").asDoubles();
            org.rosuda.REngine.REXP x0 = c.eval("R.version.string");
            System.out.println(x0.asString());
} catch (REngineException e) {
            //manipulation
        }

    }
}

07-28 03:36
查看更多