R是一个用于统计计算和统计制图的优秀工具。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能 。
而Java语言是目前最流行的语言,当然对我自己来说也是最熟悉的语言了。所以今天尝试通过java来调用R函数为下面通过调用数学函数实现业务功能做基础。
目前我在windows xp上做测试。
1. 首先需要下载R的windows安装程序,地址为
http://cran.r-project.org/,选择base进行下载。然后安装就可以了。
2. 安装Rserve,可以通过R界面中的命令行输入:install.packages("Rserve")或者在R界面上选择:程序包->安装程序包,然后找到Rserve进行安装。
3. 启动Rserve, 在R界面中的命令行中输入:library(Rserve)来加载Rserve,然后输入Rserve()进行启动服务。
到此Rserve已经配置并启动好,下面轮到Java程序调用了。
1. 下载Rserve提供的jar包,打开
http://www.rforge.net/Rserve/files/,下载
REngine.jar和
RserveEngine.jar,然后放到自己的项目中,并引入。
2. 编辑代码如下:
import org.rosuda.REngine.REXP;
import org.rosuda.REngine.REXPMismatchException;
import org.rosuda.REngine.Rserve.RConnection;
import org.rosuda.REngine.Rserve.RserveException;
public class RTest {
/**
* @param args
* @author Zhou Rui
* @throws RserveException
* @throws REXPMismatchException
*/
public static void main(String[] args) throws RserveException, REXPMismatchException {
RConnection c = new RConnection();
REXP x = c.eval("R.version.string");
System.out.println(x.asString());
}
}
运行,输入结果:
R version 2.12.2 (2011-02-25)
posted on 2011-03-30 10:57
周锐 阅读(2810)
评论(0) 编辑 收藏 所属分类:
Java 、
R