问题标签 [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.
r - 使用 JRI 在 Java 中获得与 R 控制台相同的输出
当我将以下命令直接输入到 R 控制台时
我会得到这样的输出
当我查看属性时,我看到以下输出
这与我在 Java 中得到的相同。我想知道魔法发生在哪里,所以我看到了在 R 中得到的漂亮输出。我无法访问事件循环,因为我正在使用这样的 JRI(因为这是推荐的方式并简化了错误处理):
/edit 在 Java 中,我执行上面的每个命令,如下所示:
我得到的是
有效载荷为双倍:1、6、1、6 属性与上面指定的相同。
现在 R 做了一些魔术来显示上面的输出。有没有一种方法可以让我获得相同的输出而无需自己手动创建它?R 获得上述输出的实现存储在哪里?
rjava - JRI:如何在 Java 字符串中获取控制台输出
我在我的 Java 程序中声明 JRI 引擎如下:
这很好用,但是我想在 Java 字符串而不是 Java 控制台中获取控制台输出。
我进行了研究REngineStdOutput
,但找不到太多。有任何想法吗?
rjava - 使用 JRI 模拟 R 控制台
我需要使用 JRI 构建一个与 R 控制台类似的应用程序。问题是有时控制台会响应显示一行(例如,在x
下面输入之后),有时它不会(例如,在输入之后x = 1
)
我试图分析eng.parseAndEval(statement)
(其中语句是在控制台上输入的命令),但不知道何时在控制台上显示响应,何时不显示。有任何想法吗?
java - 使用 Regex 解析 Java 中的脚本语句
我在 java String 变量中有以下 R 脚本(包括换行符):
我正在寻找的是获得 R 函数,而不管新行如何。
按照前面的示例,我将得到一个包含三个字符串的数组:
第一的:d = 1
第二:for (i in 1:150 ) {
d = d + i;
}
第三:print(d)
正则表达式可以做到这一点吗?
rjava - 在 JBoss 的 JRI 中运行 rJava
我正在使用 JRI 在 Jboss(Java 应用程序服务器)中运行 R 脚本。在 R 脚本中,我调用了一个 Java 类。
因此,这就是我所拥有的:
JBoss 中的 Java 程序 --> 调用 JRI 并运行 R 脚本 --> 调用 Java 程序。
当我尝试在 JRI 中运行以下脚本时:
程序运行,但抛出以下异常:
12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1) java.lang.NoClassDefFoundError: RJavaClassLoader
org.rosuda.JRI.Rengine.rniEval 的 12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1)(本机方法)
12:18:16,786 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.JRI.JRIEngine.eval(JRIEngine.java:281)
12:18:16,802 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.REngine.parseAndEval(REngine.java:102)
12:18:16,803 错误 [stderr] (http-localhost-127.0.0.1-8080-1) 在 org.rosuda.REngine.REngine.parseAndEval(REngine.java:108)
第一次运行 rJava 语句时,我得到了异常。从那以后,它几乎可以正常工作了,主要问题是环境不稳定,我不时看到很多异常。
我知道可以从 JRI 中运行 rJava,但是在 Jboss 这样的应用程序服务器中,而不是普通的 Java 对象中是否可以?
java - 在 Windows 上设置 Java R 接口 (JRI)
我遵循了网络上的指南并查看了有关 stackoverflow 的问题,但我仍然无法在 Windows 上设置 JRI。
以下是我采取的步骤:
1) 安装 R
2)install.packages("rJava")
在R中执行安装rJava
3) 创建一个R_HOME
带值的系统变量C:\Program Files\R\R-3.1.2
4)将以下内容添加到我的PATH
变量中:C:\Program Files\R\R-3.1.2\bin\x64;C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri\x64
5) 添加 JRI.jar(位于 中C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri
)作为 IntelliJ 中的依赖项
6) 将 IntelliJ 中的 VM 选项设置为-Djava.library.path=C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri\x64
7)启动R并执行library("rJava")
8) 运行我的程序来测试是否一切都设置好了
得到以下错误:
如果我删除 VM 选项以便未指定 java.library.path,则会收到以下错误:
swing - 如何使用 JavaGD 在我的 JFrame 中可视化我的 R 图?
我是 JRI/rJava/JavaGD 的新手,遇到了一些问题。我用 JRI 绘制了一个简单的 R 图,并希望将此图包含在我自定义的 JFrame 中。我添加了 GDCanvas,其中的情节应该出现在我的 JFrame 中。然而,该图并未显示在 GDCanvas 中,而是在新框架中打开。如何在我的 JFrame 中可视化我的 R 图,而不是出现在它自己的框架中?
对我来说,另一种可能性是修改我的情节弹出的新框架。但我也无法在那里添加或修改任何东西。有没有一种特殊的方法来修改出现在 JavaGD() 中的帧?
有人可以帮帮我吗?提前谢谢了。
java - JRI 返回码 10
我是 R 新手,正试图从 java 调用一个简单的 rJava 测试程序。我已经完成了必要的路径设置,当我尝试创建 Rengine 实例时,代码失败了。问题似乎出在C [R.dll+0x26036]上。但是,我对此并不陌生,无法弄清楚这个问题。欢迎任何帮助。
我的代码:
}
输出:
开始启动 Rengine.. R_HOME =D:\Program Files\R\R-3.2.0\bin\
Java 运行时环境检测到一个致命错误:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) 在 pc=0x000000006c726036, pid=4588, tid=1872
JRE 版本:Java(TM) SE 运行时环境 (8.0_45-b14) (build 1.8.0_45-b14) Java VM:Java HotSpot(TM) 64-Bit Server VM (25.45-b02 混合模式 windows-amd64 压缩 oops) 有问题框架:C [R.dll+0x26036]
无法写入核心转储。默认情况下,在 Windows 的客户端版本上不启用小型转储
包含更多信息的错误报告文件保存为:
java - 使用 JRI 的 R 神经网络结果问题
所以这是我的问题。
我在R中使用一个脚本来创建一个神经网络来生成一个文件的缺失值,这个文件如下:
我的 java 程序正在读取和存储这些数据,文件的前一部分只是在我正在使用的值的指示器上。
因此,我用 Java 创建了 RApp,并在读取文件后开始处理它。我的训练输入如下。(注意:举例来说,我使用了少量数据,即 9 行,但我的文件中通常有 35000 行左右。我还生成了一些标签,其中读取的值分别为年、月、星期几、一个月中的某天,依此类推,这就是为什么您在上面的文件示例中看到的值不存在的原因。)。
训练输入(使用完整数据的 50%)
使用以下代码创建:
训练输出
用代码创建
然后我的
测试数据
测试数据的创建方式与训练输入相同。
然后我调用 R 脚本:
所有的值都是预先定义好的。
R脚本如下
我的问题来了,这会给我的结果是:
当我期望值在 23000 左右时。显然我在此过程中做错了什么。但是我无法弄清楚,我感谢有人可能提供的任何帮助。
感谢您的时间。
java - 如何与 joptionpane 并行执行 java 函数
我想在java中执行一个函数,但同时我想JOptionPane
在操作开始和结束时向用户显示一个,问题是如果我不按下第一个的“Accept”buyton JOptionPane
,我的函数不会't 开始,我希望它是自动的,我该怎么做?这是我的代码,我正在为我的功能使用 JRI 接口。