zoukankan      html  css  js  c++  java
  • RJava配置

      概念:rJava是一个简单的R到Java接口。它可以与.C / .Call C接口相媲美。rJava提供R和Java之间的低级桥接(通过JNI)。它允许从R创建对象,调用方法和访问Java对象的字段。rJava发行版本可以从CRAN获得- 通常install.package(“rJava”)在R中是可以的。当前的开发版本可以从文件部分下载,从某种意义上说,rJava的逆向是JRI(Java / R接口),它提供了相反的方向 - 从Java调用R。JRI现在作为rJava软件包的一部分发布,尽管它仍然可以作为一个独立的实体(特别是用于开发)。目前,rJava被用作JGR,iPlots和JavaGD软件/软件包的一部分。

      配置:

        1、安装r环境,导入rjava库,这样r这边几乎完成。

        2、环境变量的配置:

          CLASSPATH配置:D:R-3.4.0library Javajri

          Path配置:D:R-3.4.0inx64

        3、java项目需要导入的依赖(在maven中)

        <!-- https://mvnrepository.com/artifact/com.github.lucarosellini.rJava/JRI -->
            <dependency>
                <groupId>com.github.lucarosellini.rJava</groupId>
                <artifactId>JRI</artifactId>
                <version>0.9-7</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.lucarosellini.rJava/REngine -->
            <dependency>
                <groupId>com.github.lucarosellini.rJava</groupId>
                <artifactId>REngine</artifactId>
                <version>0.9-7</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.github.lucarosellini.rJava/JRIEngine -->
            <dependency>
                <groupId>com.github.lucarosellini.rJava</groupId>
                <artifactId>JRIEngine</artifactId>
                <version>0.9-7</version>
            </dependency>    

        4、运行java程序指定环境

        -Djava.library.path="D:/R-3.4.0/library/rJava/jri/x64"

        例如:java -jar -Djava.library.path="D:/R-3.4.0/library/rJava/jri/x64" importHighfreqAvg.jar 

        eclipse中直接在run configurations中配置就行

        

      使用:

       1、在java中调用:

        实例化引擎

     private static final Rengine ren = new Rengine(new String[] { "--vanilla" }, false, null);

        编写命令

    private static String command = "%s<-calYoyAvg('%s', '%s','%s','%s', '%s',%s,'%s')";

     retrieveStocksCommand = String.format(command, highfreqData, codes, startDate, endDate, coefAvg, coefHigh, flag,coefAdjust);

        将命令发送到r中执行,并接收返回值

    org.rosuda.JRI.REXP list = ren.eval(retrieveStocksCommand);

        最后解析list。

      注意事项:

      1、第一次配置需要重启eclipse才能生效。

      2、所有的r需要依赖库需要在同一个文件夹下,一般默认安装在C:Program Files,部分依赖库也会在这个文件夹下,但是后来安装的库会在“用户”文件夹下,将用户的库复制过去或者从新指定安装库位置。

  • 相关阅读:
    操作 Java 数组的 12 个最佳方法
    详解 JavaScript 中 splice() 方法
    Java 读取 .properties 配置文件的几种方式
    表单中单选、多选、选择框值的获取及表单的序列化
    一个调出上下文菜单的实例
    跨浏览器的事件侦听器和事件对象
    动态加载js和css
    php语言实现的7种基本的排序方法
    CORS(跨源资源共享)实战
    ubuntu中LAMP环境搭建及ubuntu语言和输入法设置
  • 原文地址:https://www.cnblogs.com/fengmao/p/8259113.html
Copyright © 2011-2022 走看看