java直接调用r代码 java调用r语言代码

Eclipse中,Java代码用Rserve调用R程序

Rserve的方式即通过一种服务器-客户端的访问形式对R中的方法进行使用。首先需要开启Rserve,需要在R上安装Rserve的包,然后运行Rserve()即可以启动服务器了。在客户端这边建立连接:

东方网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

RConnectionc = new RConnection();

进行R中的运算可以直接调用方法c.eval("expression"),这里调用和在R的环境中使用是一样的,也就是说只需要将需要进行的运算表达式直接放在“”里面。但在此之前一定是需要有输入之后要有输出的,因此,输入需要对变量赋值:c.assign("key",value);值可以是多种类型。

赋值之后进行运算,然后自然是取值了,取值也是通过c.eval("key");进行,只不过这里引号里面不是一个表达式,而是一个变量。取值的类型为REXP,需要将其转换为Java数据类型。

你的所有的东西都可以在c.eval("expression")运行,只需要用引号括起来,其他的语句和R里面一样。然后输入输出分别是利用上面说的c.assign("key",value) 和c.eval("key")。取值后进行相应的转换即可。

另外附上我的R语言笔记,

java通过Rserve调用R函数来生成图形的方法

你要生成什么图形?Graphics 就可以生成图片。。为什么还要

Rserve来生成图片呢?

如果真要具体代码如下

R是一个用于统计计算和统计制图的优秀工具。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能 。

而Java语言是目前最流行的语言,当然对我自己来说也是最熟悉的语言了。所以今天尝试通过java来调用R函数为下面通过调用数学函数实现业务功能做基础。

目前我在windows xp上做测试。

1. 首先需要下载R的windows安装程序,地址为,选择base进行下载。然后安装就可以了。

2. 安装Rserve,可以通过R界面中的命令行输入:install.packages("Rserve")或者在R界面上选择:程序包-安装程序包,然后找到Rserve进行安装。

3. 启动Rserve, 在R界面中的命令行中输入:library(Rserve)来加载Rserve,然后输入Rserve()进行启动服务。

到此Rserve已经配置并启动好,下面轮到Java程序调用了。

1. 下载Rserve提供的jar包,打开,下载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());

}

}

在Java中调用R程序

import xx.xx.R;(xx为你的包名,若在同一个包中,该句省略)

其它类中

(1)非静态方法 R r = new R(); r.方法;

(2)静态方法 R.方法;

这个还是看看书吧,很简单的

java语言能调用R语言吗

可以。

(一) 在R里下载“Rserve”包,并安装

安装好后,

运行如下命令启动“Rserver”

library(Rserve)

Rserve()

Starting Rserve...

"D:\PROGRA~1\R\R-30~1.1\library\Rserve\libs\i386\Rserve.exe"

(二) 建立java工程,导入必要的包,写出测试用例

目录结构如下(标红色的是需要的):

Test.java 内容

package com.rTest;

import org.rosuda.REngine.REXP;

import org.rosuda.REngine.Rserve.RConnection;

public class Test {

public static void main(String[] args) {

try {

RConnection c = new RConnection();

REXP x = c.eval("R.version.string");

System.out.println(x.asString());

} catch (Exception e) {

e.printStackTrace();

}

}

}

运行即可

2.3 可能出现的错误

2.3.1 Connection refused: connect

org.rosuda.REngine.Rserve.RserveException: Cannot connect: Connection refused: connect

at org.rosuda.REngine.Rserve.RConnection.init(RConnection.java:88)

at org.rosuda.REngine.Rserve.RConnection.init(RConnection.java:60)

at org.rosuda.REngine.Rserve.RConnection.init(RConnection.java:44)

at com.rTest.Test.main(Test.java:9)

这是由于“Rserve” 服务器没有启动起来的原因,试试在R内运行如下语句

library(Rserve)

Rserve()

Linux环境下,java怎么调用R语言

1、下载wget、解压:tar-zxvfR-3.0.1.tar.gzcdR-3.0.13、安装(当然也可以跳过)yuminstallreadline-develyuminstalllibXt-devel./configure4、配置环境并编译安装#如果使用rJava需要加上--enable-R-shlib(这个我不需要,所以加入到后面)#如果3没安装,那么后面加上:--with-readline=no--with-x=no./configure--prefix=/usr/R-3.0.1make$$makeinstall5、配置环境变量并生效vi.bash_profileexportR_HOME=/usr/R-3.0.1exportPATH=.:$R_HOME/bin:$PATH#试环境变量生效source.bash_profile6、命令行测试[admin@JDsoftware]$RWARNING:ignoringenvironmentvalueofR_HOMERversion3.0.1(2013-05-16)--"GoodSport"Copyright(C)2013TheRFoundationforStatisticalComputingPlatform:x86_64-unknown-linux-gnu(64-bit)R是自由软件,不带任何担保。在某些条件下你可以将其自由散布。用'license()'或'licence()'来看散布的详细条件。R是个合作计划,有许多人为之做出了贡献.用'contributors()'来看合作者的详细情况用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或用'help.start()'通过HTML浏览器来看帮助文件。用'q()'退出R.q()7、创建脚本测试(t.R)cd/opt/script/Rvimt.R#!/path/to/Rscript#第一行x-c(1,2,3)#R语言代码y-c(102,299,301)model-lm(y~x)summary(model)8、测试:执行脚本RCMDBATCH--args/opt/script/R/t.Rmore/opt/script/R/t.Rout#查看执行的结果或者第二种方式Rscript/opt/script/R/test.R#结果直接输出到终端


当前标题:java直接调用r代码 java调用r语言代码
标题链接:http://scjbc.cn/article/dodieji.html

其他资讯