问题标签 [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.
r - 我从哪里开始使用 rJava?
我不是 Java 程序员。我编程 R 和 C++。我有一些想要包含在 R 包中的 java 代码。该程序的基本情况如下:
- 从标准输入读取数据。
- 运行 MCMC 链。
- 输出到文件。
我想将它转换为 R,我可以在其中从 R 运行程序。我熟悉 Rcpp 包并且习惯了它的一些便利。我从哪里开始使用 rJava 包来学习使用此代码。
具体来说,我有以下问题。
- 如何将数据从 R 传输到 java,例如数字向量、因子等。
- 如何运行类的方法?
- 如何在包中包含 java 代码?
rJava 文档不是很有帮助。有人有这方面的教程吗?
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()
:
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
,都无济于事。有任何想法吗?
以下是所发生事件的更完整记录:
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 实现中存在一个错误,但这很难相信
r - 将命名 data.frames 的列表写入 xlsx 文件
我尝试使用xlsx包将命名数据框列表保存到 xlsx 文件中。列表中的数据框都已命名,但如果它也适用于列表中未命名的元素,那就太好了。
这是我写的函数:
它工作正常,但每次我调用时都会覆盖输出工作簿write.xlsx
。如何在工作簿中将 data.frame 作为工作表插入?
我没有与 xlsx 包结婚,但它似乎为 excel 文件提供了一个很好的界面,所需的设置最少。我也愿意接受其他好的选择。
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)
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
java - rJava startMainLoop() 函数杀死 Java 操作
我开发了一个界面,允许用户加载和操作数据。GUI 是用 Java 开发的,所有的计算都是由 R 在后台完成的,将两者与 jri 联系起来。这个想法是用户不必具备任何 R 知识即可使用它,它是所有选项和按钮。但是,如果需要,我想让用户选择编写一些代码。所以这是我的问题:
如果我使用以下代码启动 Rengine 并且不让用户通过控制台进行交互,则一切正常:
但如果我使用这个:
gui 的功能不起作用。我尝试使用
加载数据后的功能。我能够从 R 中的命令行操作数据,例如,我可以从加载的数据列中创建一个新变量:
但是再一次,我不能再使用gui了。有没有人对这是为什么有任何想法或解释?
提前致谢,
阿兰
rjava - rJava 对 JDK 的依赖
为什么 rJava 需要安装整个 JDK 而不仅仅是 JRE?(jvm.dll 在 JRE 中可用)
让我们假设 jvm.dll 的路径和所有其他环境变量都设置正确。
java - 使用 Java、R 和 JavaGD 绘制多个图时出现问题?
我已经使用 Java、JavaGD 和 R 成功绘制了一个图表。我按照本教程进行操作。
现在,我有一个 R 脚本,它读取 CSV 文件并进行一些计算。最后,它绘制了 8 个不同的图表。当我使用 Java/JavaGD 运行这个脚本时,只有第 1 个和第 8 个图可见。第 2 到第 7 个在“非活动”窗口上,它们是空白的。我使用与上述链接/教程中完全相同的代码。所以我猜有些东西被覆盖了。
我怎样才能在适当的窗户上画它们?此外,如果重新调整大小,第一个窗口将变为空白。如何解决这个问题?
如果需要,请随时要求澄清。我不确定我对问题的解释有多好。
非常感谢任何帮助/阅读材料。
更新1:
目前,我正在使用以下代码:
部分脚本: