I want to create a java applet that takes various files and runs statistical tests on them. The user would choose a file and press the appropriate button for a statistical test. All of the statistical tests would be coded in R. Is there a way to "bridge" R and Java?
问问题
564 次
2 回答
0
有没有办法“桥接”R和Java?
肯定有。您可以使用JRI。
这是我在上一个答案中提供的 JRI Java 到 R 示例(传递一个双精度数组并让 R 对其求和):
// Start R session.
Rengine re = new Rengine (new String [] {"--vanilla"}, false, null);
// Check if the session is working.
if (!re.waitForR()) {
return;
}
re.assign("x", new double[] {1.5, 2.5, 3.5});
REXP result = re.eval("(sum(x))");
System.out.println(result.asDouble());
re.end();
以上基本上相当于在 R 中执行此操作:
x <- c(1.5, 2.5, 3.5)
sum(x)
注意:如果您使用的是 Eclipse 和 JRI,我强烈推荐这个插件来设置它。
或者,您只需创建从 Java 执行的 R 脚本,使用RScript.exe
. 例如:
Rscript my_script.R
您会在 Internet 上找到大量解释如何从 Java 执行命令行命令的信息。我对它的了解不够多,无法给你举个例子。
于 2013-10-01T15:26:01.887 回答
0
您正在寻找的那种功能在 R 本身中很容易获得。由 RStudio 创建的Shiny 包完全满足您的需求:为 R 提供一个 Web 界面,包括简单的 GUI 元素。使用 Shiny 的优势在于它可以处理所有细节,让您专注于分析。从字面上看,我花了 2 个小时来安装 Shiny 并创建我的第一个 Web 应用程序。
免责声明:我与 RStudio 没有任何从属关系,我只是一个快乐的用户 :)。
于 2013-10-01T14:54:58.573 回答