繁体   English   中英

有没有办法在Java小程序中使用R?

[英]Is there a way to use R in a java applet?

我想创建一个Java小程序,它接受各种文件并对其进行统计测试。 用户将选择一个文件,然后按适当的按钮进行统计测试。 所有统计测试都将用R编码。是否有办法“桥接” R和Java?

您正在寻找的功能类型可以在R本身中轻松获得。 由RStudio创建的Shiny软件包完全满足您的需求:为R提供一个Web界面,包括简单的GUI元素。 使用Shiny的优点是,它可以处理所有细微的细节,让您专注于分析。 从字面上看,我花了2个小时来安装Shiny并创建了我的第一个Web应用程序。

免责声明:我与RStudio没有任何隶属关系,我只是一个快乐的用户:)。

有没有办法“桥接” 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,我强烈建议您使用此插件进行设置。


或者,您只需创建使用RScript.exe从Java执行的R脚本。 例如:

Rscript my_script.R

您将在Internet上找到大量信息,说明如何从Java执行命令行命令。 我对此了解不足,无法举一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM