有没有办法在java applet中使用R?

时间:2013-10-01 14:37:37

标签: java r

我想创建一个java applet,它接受各种文件并对它们运行统计测试。用户将选择一个文件并按相应的按钮进行统计测试。所有的统计测试都将用R编码。有没有办法“桥接”R和Java?

2 个答案:

答案 0 :(得分:0)

您正在寻找的功能在R本身中很容易获得。由RStudio创建的Shiny package完全符合您的需求:为R提供Web界面,包括简单的GUI元素。使用Shiny的优势在于它可以处理所有细节,让您专注于分析。它花了我2个小时来安装Shiny并创建我的第一个Web应用程序。

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

答案 1 :(得分:0)

  

有没有办法“桥接”R和Java?

肯定有。您可以使用JRI

以下是我在previous answer中提供的JRI Java to 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,我强烈建议您this plugin进行设置。


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

Rscript my_script.R

您将在互联网上找到大量有关如何从Java执行命令行命令的信息。我不太了解它给你一个例子。