博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rJava配置
阅读量:4604 次
发布时间:2019-06-09

本文共 1905 字,大约阅读时间需要 6 分钟。

1. 下载安装R-3.1.1-win.exe;

2. 在R中安装rJava

> install.packages("rJava")

3. 设置环境变量:

1 PATH:D:\SoftWare\Java\jdk1.6.0_45\jre\bin\server;D:\SoftWare\Java\R\R311\bin\x642 CLASSPATH:D:\SoftWare\Java\R\R311\library\rJava\jri

4. 在R中调用Java 测试:

> library(rJava)> .jinit()> s <- .jnew("java/lang/String", "Hello World!")> s

一切配置成功则出现:

[1] "Java-Object{Hello World!}"
#加载rJava包> library(rJava)> search() [1] ".GlobalEnv"        "package:rJava"     "package:stats" [4] "package:graphics"  "package:grDevices" "package:utils" [7] "package:datasets"  "package:methods"   "Autoloads"[10] "package:base"#启动JVM> .jinit()#声明并赋值到字符串> s <- .jnew("java/lang/String", "Hello World!")> s[1] "Java-Object{Hello World!}"#查看字符串长度> .jcall(s,"I","length")[1] 12#索引World的位置> .jcall(s,"I","indexOf","World")[1] 6#查看concat的方法声明> .jmethods(s,"concat")[1] "public java.lang.String java.lang.String.concat(java.lang.String)"#使用concat方法连接字符串> .jcall(s,"Ljava/lang/String;","concat",s)[1] "Hello World!Hello World!"#打印字符串对象> print(s)[1] "Java-Object{Hello World!}"#打印字符串值> .jstrVal(s)[1] "Hello World!"

rJava优化过的方法调用,用$来调用方法

#同.jcall(s,"I","length")> s$length()[1] 12#同.jcall(s,"I","indexOf","World")> s$indexOf("World")[1] 6

5. 安装Rserve

> install.packages("Rserve")

需要使用时在R控制台下加载该包,然后输入命令Rserve(),开启服务器,就可以供客户端调用。

 6. ubuntu系统启动Rserve

$ R CMD Rserve
#查看进程$ ps -aux|grep Rserveconan     7142  0.0  1.2 116296 25240 ?        Ss   09:13   0:00 /usr/lib/R/bin/Rserve#查看端口$ netstat -nltp|grep Rservetcp        0      0 127.0.0.1:6311          0.0.0.0:*               LISTEN      7142/Rserve

这时Rserve已经启动,端口是6311。

7. Java远程连接Rserve

刚刚启动时,使用的本地模式,如果想运程连接需要增加参数 –RS-enable-remote

#杀掉刚才的Rserve守护进程$ kill -9 7142#打开远程模式重新启动~ R CMD Rserve --RS-enable-remote#查看端口$ netstat -nltp|grep Rservetcp        0      0 0.0.0.0:6311            0.0.0.0:*               LISTEN      7173/Rserve

0 0.0.0.0:6311,表示不限IP访问了。

转载于:https://www.cnblogs.com/fuleying/p/3950943.html

你可能感兴趣的文章
良好的编程规范
查看>>
struts2 入门
查看>>
.net 编译原理
查看>>
mean 快速开发和现有技术的对比分析
查看>>
Metro Style app :浏览器扩展
查看>>
linux的kernel是怎样工作的(TI_DM36X_ARM系统)(1)
查看>>
[luogu4310] 绝世好题 (递推)
查看>>
[luogu3203 HNOI2010] 弹飞绵羊 (分块)
查看>>
-Dmaven.multiModuleProjectDirectory system propery is not set.
查看>>
Python2 unichr() 函数
查看>>
Python 字典 copy()方法
查看>>
Minimum Path Sum
查看>>
Remove Duplicates from Sorted Array II
查看>>
常量指针和指针常量巧妙记忆方法[转]
查看>>
python-haproxy作业讲解视频总结
查看>>
批处理文件脚本总结
查看>>
快速排序C++代码
查看>>
mui搜索框 搜索点击事件
查看>>
bzoj 5289: [Hnoi2018]排列
查看>>
joomla处境堪忧
查看>>