问题标签 [rjava]

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 投票
2 回答
4033 浏览

r - 我从哪里开始使用 rJava?

我不是 Java 程序员。我编程 R 和 C++。我有一些想要包含在 R 包中的 java 代码。该程序的基本情况如下:

  1. 从标准输入读取数据。
  2. 运行 MCMC 链。
  3. 输出到文件。

我想将它转换为 R,我可以在其中从 R 运行程序。我熟悉 Rcpp 包并且习惯了它的一些便利。我从哪里开始使用 rJava 包来学习使用此代码。

具体来说,我有以下问题。

  1. 如何将数据从 R 传输到 java,例如数字向量、因子等。
  2. 如何运行类的方法?
  3. 如何在包中包含 java 代码?

rJava 文档不是很有帮助。有人有这方面的教程吗?

0 投票
13 回答
174040 浏览

r - 在带有 R 的 Win7 64 位上使用 rJava 包

我正在尝试rJava在装有 Win 7 64 位的计算机上安装。当我跑

一切似乎都很好:

但是当我尝试加载库时library(rJava),出现以下错误:

我已经安装了 Java JRE(尝试 32 位和 64 位版本)和 JDK(同时使用 32 位和 64 位版本)。我的 R 版本是R version 2.13.1 (2011-07-08),我正在使用 RStudio。

如果我尝试使用 32 位 R,我可以rJava正常加载。问题只是rJava不能在 R 64 位中运行吗?我如何判断一个包裹是否仅适用于 32 而不是 64?


编辑:刚刚发布R.version()

0 投票
4 回答
12131 浏览

r - 无法在 Ubuntu 10.04 上安装 rJava 0.9

我使用 Ubuntu 10.04 的 CRAN apt repo 中的 R 2.13,我正在尝试安装 Deducer,它需要 JGR/rJava,但 rJava 拒绝构建/安装,抱怨无法构建 JNI 应用程序。我按照建议进行了尝试sudo R CMD javareconf,但这只会导致有关未设置配置的不同错误。我发现R: rJava package install failed,所以我尝试了那里的安装建议r-cran-rjava(但那是 0.8 和 Deducer/JGR 似乎坚持安装 0.9)和摆弄我的$JAVA_HOME,都无济于事。有任何想法吗?

以下是所发生事件的更完整记录:

0 投票
2 回答
860 浏览

java - 使用 rJava 将 String[][] 从 Java 传递到 R 的问题

是否可以使用 rJava 从 Java 返回 String[][] 到 R?

我调用方法

从 R 与

当我将方法的返回类型更改为 String[] 时,一切正常,我对参数进行了试验,我很确定问题出在 String[][] 上。

有人有想法吗?

编辑1:
对不起,我忘记了错误消息:
.jcall(obj, "[[S", "readFromTable", tableName, security, .jarray(fields), : 方法 readFromTable with signature (Ljava/lang/String; Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)[[S未找到

编辑 2
我刚刚发现如果我返回一个 Double[][] 就可以工作......所以可能在 rJava 包中的 String JNI 实现中存在一个错误,但这很难相信

0 投票
2 回答
6842 浏览

r - 将命名 data.frames 的列表写入 xlsx 文件

我尝试使用xlsx包将命名数据框列表保存到 xlsx 文件中。列表中的数据框都已命名,但如果它也适用于列表中未命名的元素,那就太好了。

这是我写的函数:

它工作正常,但每次我调用时都会覆盖输出工作簿write.xlsx。如何在工作簿中将 data.frame 作为工作表插入?

我没有与 xlsx 包结婚,但它似乎为 excel 文件提供了一个很好的界面,所需的设置最少。我也愿意接受其他好的选择。

0 投票
2 回答
2455 浏览

java - 使用 JRI 从 Java 调用 R,如何转换返回值

我正在使用 JRI 从 Java 执行一些 R 命令。我想在我的 Java 中使用 R 的结果进行进一步计算,但我不知道如何转换返回的对象。

Java调用代码:


R代码的最后一行:

--

Java控制台中的输出:


“3.050462038715372”是正确的值,但如何在 Java 中访问它?

最好的问候,伊曼纽尔

PS。没有答案的相关问题: Converting REXP object to a double array (Java/R)

0 投票
2 回答
634 浏览

java - 让 R 将数据从 Java 加载到变量中,而不需要 R 将信息发送回 Java

我正在从 java 将一个非常大的数据集加载到 R 中。我创建了一个使用 rJava 的 jri 调用 R 的 Java 程序。该程序已被打包成一个可执行的 jar 文件,并正在从终端 (linux) 调用。数据位于 50 列 x 1370 万行的区域中。单独的 R 可以毫无问题地处理这个问题。但是,当我从 Java 程序运行它时,我收到 Java OutofMemory Heap 错误。

问题是当我用它工作的一半行运行它时,R 应该只将每个变量的名称(总共 50 个)发送回 java,而不管有多少行。这是我正在使用的代码:

我的理解是 re.eval 函数,计算 R 中的表达式并将结果发送回 R。有没有办法让你评估函数而不将结果返回给 java?

我之前问过一个类似的问题,这里是链接: Evaluating expressions called from Java in R. Out of Memory Error: Java Heap

0 投票
1 回答
417 浏览

java - rJava startMainLoop() 函数杀死 Java 操作

我开发了一个界面,允许用户加载和操作数据。GUI 是用 Java 开发的,所有的计算都是由 R 在后台完成的,将两者与 jri 联系起来。这个想法是用户不必具备任何 R 知识即可使用它,它是所有选项和按钮。但是,如果需要,我想让用户选择编写一些代码。所以这是我的问题:

如果我使用以下代码启动 Rengine 并且不让用户通过控制台进行交互,则一切正常:

但如果我使用这个:

gui 的功能不起作用。我尝试使用

加载数据后的功能。我能够从 R 中的命令行操作数据,例如,我可以从加载的数据列中创建一个新变量:

但是再一次,我不能再使用gui了。有没有人对这是为什么有任何想法或解释?

提前致谢,

阿兰

0 投票
1 回答
233 浏览

rjava - rJava 对 JDK 的依赖

为什么 rJava 需要安装整个 JDK 而不仅仅是 JRE?(jvm.dll 在 JRE 中可用)

让我们假设 jvm.dll 的路径和所有其他环境变量都设置正确。

0 投票
1 回答
1315 浏览

java - 使用 Java、R 和 JavaGD 绘制多个图时出现问题?

我已经使用 Java、JavaGD 和 R 成功绘制了一个图表。我按照教程进行操作。

现在,我有一个 R 脚本,它读取 CSV 文件并进行一些计算。最后,它绘制了 8 个不同的图表。当我使用 Java/JavaGD 运行这个脚本时,只有第 1 个和第 8 个图可见。第 2 到第 7 个在“非活动”窗口上,它们是空白的。我使用与上述链接/教程中完全相同的代码。所以我猜有些东西被覆盖了。

我怎样才能在适当的窗户上画它们?此外,如果重新调整大小,第一个窗口将变为空白。如何解决这个问题?

如果需要,请随时要求澄清。我不确定我对问题的解释有多好。

非常感谢任何帮助/阅读材料。

更新1:

目前,我正在使用以下代码:

部分脚本: