rJava配置
1. 下载安装R-3.1.1-win.exe;
2. 在R中安装rJava
> install.packages("rJava")
3. 设置环境变量:
PATH:D:\SoftWare\Java\jdk1..0_45\jre\bin\server;D:\SoftWare\Java\R\R311\bin\x64
CLASSPATH:D:\SoftWare\Java\R\R311\library\rJava\jri
4. 在R中调用Java 测试:
> library(rJava)
> .jinit()
> s <- .jnew("java/lang/String", "Hello World!")
> s
一切配置成功则出现:
[] "Java-Object{Hello World!}"
#加载rJava包
> library(rJava)
> search()
[] ".GlobalEnv" "package:rJava" "package:stats"
[] "package:graphics" "package:grDevices" "package:utils"
[] "package:datasets" "package:methods" "Autoloads"
[] "package:base" #启动JVM
> .jinit() #声明并赋值到字符串
> s <- .jnew("java/lang/String", "Hello World!")
> s
[] "Java-Object{Hello World!}" #查看字符串长度
> .jcall(s,"I","length")
[] #索引World的位置
> .jcall(s,"I","indexOf","World")
[] #查看concat的方法声明
> .jmethods(s,"concat")
[] "public java.lang.String java.lang.String.concat(java.lang.String)" #使用concat方法连接字符串
> .jcall(s,"Ljava/lang/String;","concat",s)
[] "Hello World!Hello World!" #打印字符串对象
> print(s)
[] "Java-Object{Hello World!}" #打印字符串值
> .jstrVal(s)
[] "Hello World!"
rJava优化过的方法调用,用$来调用方法
#同.jcall(s,"I","length")
> s$length()
[] #同.jcall(s,"I","indexOf","World")
> s$indexOf("World")
[]
5. 安装Rserve
> install.packages("Rserve")
需要使用时在R控制台下加载该包,然后输入命令Rserve(),开启服务器,就可以供客户端调用。
6. ubuntu系统启动Rserve
$ R CMD Rserve
#查看进程
$ ps -aux|grep Rserve
conan 0.0 1.2 ? Ss : : /usr/lib/R/bin/Rserve #查看端口
$ netstat -nltp|grep Rserve
tcp 127.0.0.1: 0.0.0.0:* LISTEN /Rserve
这时Rserve已经启动,端口是6311。
7. Java远程连接Rserve
刚刚启动时,使用的本地模式,如果想运程连接需要增加参数 –RS-enable-remote
#杀掉刚才的Rserve守护进程
$ kill - #打开远程模式重新启动
~ R CMD Rserve --RS-enable-remote #查看端口
$ netstat -nltp|grep Rserve
tcp 0.0.0.0: 0.0.0.0:* LISTEN /Rserve
0 0.0.0.0:6311,表示不限IP访问了。
rJava配置的更多相关文章
- R语言·文本挖掘︱Rwordseg/rJava两包的安装(安到吐血)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言·文本挖掘︱Rwordseg/rJava ...
- RHive
R + Hive = RHive 支持原创:http://blog.fens.me/nosql-r-hive/ R利剑NoSQL系列文章 之 Hive Hive介绍 Hive安装 RHive安装 RH ...
- 转】R利剑NoSQL系列文章 之 Hive
原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/3/ 感谢! Posted: Jul 27, 2013 Ta ...
- Java调用R——rJava的安装和配置
rJava是Java通过JRI调用R所要安装的包.配置起来比较麻烦,我参考网上进行配置,使用rJava包中example里面的示例测试,控制台显示: Cannot find JRI native li ...
- R语言rJava包安装载入及JAVA环境配置
rJava 包的安装与载入 一般文本分词的教程都会贴出: install.packages("rJava") library(rJava) 来引导我们装载rJava包,运行inst ...
- R,RJAVA 安装配置 详细版
准备工作 系统必须已经安装JDK 并配置好了环境变量. 注:安装的jdk r 以及系统 尽量保持位数一致 1.下载 R https://mirrors.tuna.tsinghua.edu.cn ...
- 配置RHadoop与运行WordCount例子
1.安装R语言环境 su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch. ...
- R语言成功加载rJava方法
加载rJava的同时,要下载JAVA的JRE并且配置环境变量JAVA_HOME,因为rJava的调用需要java运行环境. 1.下载JRE 64位版本的JRE官网下载:http://www.java. ...
- Error : .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as.logical(now), ...) error: 无法载入共享目标对象‘D:/Program Files/R/R-3.2.2/library/rJava/libs/x64/rJava.dll
Error : .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as. ...
随机推荐
- Oracle DBA需掌握的命令集锦(推荐)
第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> a ...
- JavaScript中的getBoundingClientRect()方法
这个方法返回一个矩形对象,包含四个属性:left.top.right和bottom.分别表示元素各边与页面上边和左边的距离. getBoundClientRect()方法返回的对象中和CSS中所定义不 ...
- MongoDB - Introduction of the mongo Shell
Introduction The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mong ...
- HDU4268 Alice and Bob(贪心+multiset)
Problem Description Alice and Bob's game never ends. Today, they introduce a new game. In this game, ...
- WPF非UI线程获取修改控件属性值的方法
public class InvokeHelper { #region delegates private delegate object MethodInvoker(Control control, ...
- 基于jquery的inputlimiter 实现字数限制功能
html代码: <td>内容摘要:</td> <td> <textarea id="content_summary" rows=5 nam ...
- Java longTime 和C#日期转换(结构+运算符重载)
前几天,因为工作原因,连到了公司的一个java系统.查看数据的时候,突然整个人都不好了,数据库中日期字段时间为毛都是整型?之前从来没有接触过java,所心就趁机了解了一下.原来,在数据库中,保存的是j ...
- 继承关系在内存和DB中的映射
使用 将若干相似的类映射为单表,对拥有许多特殊数据的类使用具体表继承. 对高层次使用类表继承,对低层次使用具体表继承. Single Table Inheritance 在DB中将类继承层次设计为一个 ...
- JAVA(int...i)问题
第一次看到这种写法,弄不明白到底会是神马结果,运行后才发现是这么的神奇. 无论你调用的方法中带几位参数,“hello”一直可以被输出.
- 兄台息怒,关于arguments,您的想法和大神是一样一样的----闲聊JS中的apply和call
JavaScript提供了apply和call两种调用方式来确定函数体中this的指向,表现出来的特征就是:对象可以'借用'其他对象的方法.之前的几篇博客回顾了一些Web控件的一些开发方法,我们聊了如 ...