如何将r语言插件到eclipse中

Python020

如何将r语言插件到eclipse中,第1张

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里下载“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()