当前位置:首页 » 编程语言 » r调用java

r调用java

发布时间: 2022-06-09 02:33:57

⑴ 急!!!用rjava连接R,java调用rexp.eval()抛出空指针异常

说明传递不正确

~~~~~~~~~

⑵ 有用JAVA调用R函数的吗

Java通过Rserve调用R函数

~~~~~~~~

⑶ r语言怎么设置java

在Windows
操作系统中,可在桌面上右键点击R的图标,并在弹出的窗口点击属性,
然后在属性窗口的目标框中...\Rgui.exe后面加上空格及language=Simplified
Chinese
即可。

⑷ 如何利用r语言和java来做web应用分析

展开全部
Java调用R,就是使用JRI.jar中的Api,执行一条R语言命令,当然首先你要了解R语言的语法。
1.JRI中主要的API
Rengine
R引擎,通过它进行R语言的启动、运算、画图、关闭等功能。
一个线程只能实例化一次,推荐使用单例模式。

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

Rserve的方式即通过一种服务器-客户端的访问形式对R中的方法进行使用。首先需要开启Rserve,需要在R上安装Rserve的包,然后运行Rserve()即可以启动服务器了。在客户端这边建立连接:
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语言笔记,http://wenku..com/view/a1e1ffbf551810a6f4248640.html

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

1、下载wgethttp://mirror.bjtu.e.cn/cran/src/base/R-3/R-3.0.1.tar.gz2、解压: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):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程序

import xx.xx.R;(xx为你的包名,若在同一个包中,该句省略)
其它类中
(1)非静态方法 R r = new R(); r.方法;
(2)静态方法 R.方法;
这个还是看看书吧,很简单的

⑻ 怎么安装r语言中的rjava包

WINDOWS版的配置
第一步:安装rJava和jdk

install.packages("rJava")
配置好java

第二步:设置环境变量 ,涉及java调用R(我的电脑右键-属性-高级设置-环境变量)

CLASSPATH=D:\soft\R-3.0.1\library\rJava\jri;
PATH=D:\soft\R-3.0.1\bin\x64
R_HOME=D:\soft\R-3.0.1

第三步:D:\soft\R-3.0.1\library\\rJava\jri的3个类包, 复制黏贴,
放到C:\Program Files\Java\jdk1.7.0_05\lib下面
JRIEngine.jar
JRI.jar
REngine.jar

即可实现 library(rJava)

⑼ 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()

⑽ Java调用R语言中的绘图函数需要加载什么包吗

Java调用R,就是使用JRI.jar中的Api,执行一条R语言命令,当然首先你要了解R语言的语法。
1.JRI中主要的API
Rengine R引擎,通过它进行R语言的启动、运算、画图、关闭等功能。
一个线程只能实例化一次,推荐使用单例模式。
实例化代码:
Rengine engine = new Rengine(null,false,null);
Rengine.versionCheck() //R版本校验,返回true:版本校验通过 返回false:版本校验未通过
engine.waitForR() //R加载校验,返回true:加载成功 返回false:加载失败
engine.end() //结束R,在后续没有调用R的情况下使用,否则R将退出,不能继续使用R。

2.REXP
R计算结果表达式
REXP rexp = engine.eval_r(String str) //执行R命令,返回结果REXP
rexp.asInt() rexp.asDouble() rexp.as.. //将REXP转成java类型
engine.assign(String name,double d) //定义R变量,name为R中变量的名字

以上大概了解了JRI的基本API,下面写个简单的例子。
//求n个数的最大值
Rengine engine = new Rengine(null,false,null);
int[] arr = new int[]{-1,2,1,-3,5,4,-2};
engine.assign("x",arr);
REXP rexp = engine.eval_r("max(x)");
int max = rexp.asInt();
System.out.println(max);
engine.end();

热点内容
常州php招聘 发布:2024-05-16 13:14:52 浏览:589
十二万左右捷达车配置质量怎么样 发布:2024-05-16 12:17:00 浏览:598
药品销售数据库 发布:2024-05-16 12:06:00 浏览:762
自动清理缓存的图片 发布:2024-05-16 11:50:13 浏览:814
怎么设置开机密码win8 发布:2024-05-16 11:49:59 浏览:827
ssh访问服务器文件 发布:2024-05-16 11:16:11 浏览:522
方舟编译器外国 发布:2024-05-16 11:16:10 浏览:965
莜麦众包安卓怎么下载 发布:2024-05-16 11:15:09 浏览:283
鑫天宇拉杆箱如何设置密码 发布:2024-05-16 10:29:34 浏览:707
国内服务器推荐云 发布:2024-05-16 10:28:11 浏览:580