问题标签 [jri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
103 浏览

java - Rserve eclipse basic example

Possible Duplicate:
How to make a simple program to call R from java using eclipse and Rserve

Its my first time to call R from java, I am using eclipse and I download the Rserve library using the command install.packages("Rserve") I dont know what to do on the eclipse side, how do i make a very simple program that can execute this code : RConnection c = new RConnection(); REXP x = c.eval("R.version.string"); System.out.println(x.asString());

I need simple steps, I tried a lot but its not right and I dont know where to start from

Please stop putting low ratings and either help me or let someone else try

0 投票
1 回答
814 浏览

java - 使用 JRI 在 Java 中调用 R 的 sqldf 包

我已经使用 JRI 开发了 Java 代码,用于在 Java 上执行 R 代码。现在,我遇到了一个问题(在数据框的列中提取不同的值),我必须使用 R 的 sqldf 包并尝试在我的 Java 代码中使用它的功能。这是示例代码(橙色是默认情况下已经存在于 R 中的数据集):

上述代码的输出是:

这意味着“dframe”不包含任何内容。但是当我尝试在 R 上运行相同的 sqldf func: sqldf("select * from Orange") 时,它给了我 35 行。如何在 java 中使用 sqldf 函数以获得想要的结果?

我的环境变量设置如下:

0 投票
2 回答
523 浏览

java - Invoke R Language/script from java

How do we invoke R language / R script from java? Basically I need java kind of wrapper around R script.

  1. Data will be given to java layer say method setData(double[]) which should in turn sends to R script - let us say setDataR(double []) method.

  2. R script will perform some computation say calls method double[] computeR().

  3. Java program will get the computation result by invoking double[] getData() which in turn delegates to R script to get the computated data.

How can this be performed by JRI, Rserv, Rcaller? I do not see any way to invoke Rscript methods? Please send sample. It should be simular to JNI (java, C++) invocations.

  1. Does within jvm I think multiple threads cannot invoke R script call correct? Any work around?

Thanks

0 投票
1 回答
1281 浏览

linux - JRI REngine eval() 方法总是返回 null

我有一个在 Tomcat6 上运行的 Java servlet,它使用 JRI (rJava) 与安装在 Amazon linux 服务器上的 R 进行通信。我从源代码安装了 R,通过 cran 安装了 rJava,并为 Tomcat 设置了 R_HOME 和我的类路径。我必须在我的 java.library.path 目录之一中设置一些符号链接到必要的本机库(libjri.so、libR.so 和 libRblas.so),因为我无法配置 java.library.path 以包含这些目录他们安装在其中,但我认为这不是问题。当我跑

从 $R_HOME/library/rJava/jri/ 中的命令行,我得到了预期的输出,并且 REngine 类似乎通过 eval() 生成了 R 语句。但是当我从我的类中调用 eval() 时,几乎在所有情况下都会返回一个 null 而不是 REXP 对象。无论是否打开 DEBUG,都不会记录错误。我得到 REXP 返回的唯一情况是当我设置一个数组时,例如

在这种情况下,我得到一个 REXP,其 toString() 值为

但是,如果我随后使用 eval() 调用

我得到一个空值而不是预期的 REXP。在我的 Mac 上运行的代码是:

同样,这适用于我的 Mac,所以我很确定问题出在环境而不是代码上。我进行了几个小时的搜索,但尚未找到解决方案。任何帮助都会很棒。

0 投票
2 回答
1370 浏览

r - Ubuntu 上的 JRI 致命错误

我已经在 Windows 7 上成功安装了 JRI 和 rJava。我现在正试图让它在 64 位操作系统的 Ubuntu 上工作。我可以在 R 中进行 rJava 调用,但让 JRI 工作更加困难。我正在运行 NetBeans 7.1.2,并且在设置R_HOMEjava.library.path启用要加载的所有类方面遵循了各种技巧。也就是说,我已经过去了诸如"jri library not found"和之类的错误消息"R_HOME not set"

从我的java代码中,我可以看到R_HOME = /usr/lib64/R

我现在得到的错误信息是

致命错误:您必须指定“--save”、“--no-save”或“--vanilla”

Rengine首次调用时会发生这种情况:

Rengine r = new Rengine(args,false,null);

这似乎是来自 R 的错误消息;它似乎期待一个命令行参数。我没有看到任何带有此错误消息的帖子。有任何想法吗?谢谢,彼得

0 投票
2 回答
1289 浏览

java - 新的 Rengine(...); 没有错误地失败

我正在尝试在 Windows 7 x64 系统上使用 Eclipse 设置 JRI。我在笔记本电脑上尝试过一次,它成功了。现在在我的桌面上它失败了,尽管 R、rJava 和 JRI 安装的所有内容都完全相同。

我将 JRI 和 R 路径正确设置为: C:\Program Files\R\R-2.15.1\library\rJava\jri;C:\Program Files\R\R-2.15.1\bin\x64

我也在 E​​clipse 中设置R_DOC_DIR了等。

每次我尝试运行new Rengine(...);它都会失败,没有任何错误或异常。调试显示:<terminated, exit value: 10>C:\Program Files\Java\jre6\bin\javaw.exe (01.10.2012 18:00:31)

有什么我可以尝试的吗?尽管到处都有相同的设置,但它在我的笔记本电脑上工作但在我的工作站上却不能工作,这真的让我很困扰。

编辑:用于获取 Rengine 对象的代码。

编辑:我最后一次尝试它时收到一条错误消息(创建 REngine 工作,这以前从未发生过),R 缺少一个注册表项。再次安装 R 2.15.1 后,它突然起作用了。现在重启后就和以前一样了。程序在创建 REngine 时崩溃。

0 投票
0 回答
210 浏览

r - gWidgetsWWW LocalServerStart() 通过 JRI

我正在尝试使用gWidgetsWWW. 当使用我的标准 R 命令行时,这一切都很完美。我使用的代码例如:

但是,我想从 Java 中调用此代码。为此,我设置了 JRI,这似乎工作正常。我可以运行到目前为止我尝试过的任何 R 代码,除了这个。

我使用的代码是:

此代码将在我的默认浏览器中打开一个新选项卡,正如我所期望的那样。但是,此选项卡会保持连接,并且不会显示我想要的网页。当我终止 Java 脚本时,浏览器页面将更新无法建立连接。

我的 Java 控制台中提供的输出是:

0 投票
2 回答
429 浏览

java - JAR 文件中的 JRI(Java/R 接口)程序可以在没有安装 R 的系统上运行吗?

如果一个 JRI(Java/R Interface) 程序使用 R 来显示一个图形,它可以捆绑到一个 jar 中并在没有 R 的系统上运行吗?

0 投票
1 回答
281 浏览

java - 分发使用 JRI 和 R 的 Java 应用程序

所以我正在开发一个使用 JRI 库与 R 对话的 Java 应用程序(在 Windows 7 上的 Eclipse 中开发)。为了让 JRI 工作,我必须修改一堆环境变量(PATH、R_HOME、R_LIBS_USER),以便让 JRI 能够与 R 对话并使用所有已安装的用户库。由于这些都是特定于我的系统的,我该如何制作它,所以当我使它可分发时,它能够检测到用户 R 安装的位置?我是否必须让用户设置所有这些环境变量作为设置的一部分?谢谢您的帮助。

0 投票
2 回答
4347 浏览

linux - 如何为 R 设置环境变量以在 RedHat Linux (RHEL6) 上的 Tomcat 中使用

我正在尝试在 RHEL6 (6.4) 上设置 R 和 Tomcat

我已经安装了 R 并且可以运行它。我已经安装了 Tomcat 7 并且可以托管文件文件。我已将应用程序打包为 WAR 文件并使用 tomcat 部署它。该应用程序在所有方面都运行良好,直到它使用任何 R 组件。

如 catalina.out 中所示,这是它崩溃并出现以下错误的地方:

我确实在 R 下安装了 rJava: install.packages("rJava") 它安装得很好,我在 R 的库文件夹中有 rJava。

我在 /etc/profile 中定义了以下内容:

据我了解,这应该为服务器上的所有用户全局设置 JAVA_HOME、R_HOME、PATH 和 LD_LIBRARY_PATH。我知道 Tomcat 在 root 下运行,我可以确认 root 能够通过“ echo $JAVA_HOME”、“ echo $R_HOME”、“ echo $LD_LIBRARY_PATH”、“ echo $PATH”看到上面设置的所有路径

所以我不确定为什么它抱怨它无法打开那些 .so 文件。

此外,当它崩溃时,它会关闭 Tomcat。

谢谢!