你如何从Java运行R程序?

我有用R编写的程序。我可以从R GUI运行它,它会吐出结果。

有没有办法从Java运行该程序?

您可能想看看这三个项目。

  • JRI – Java / R接口

  • Rserve

  • RCaller

我认为从其他环境执行R代码的最简单方法之一是REST Web服务。

例如,如果你有一个名为example.R的R-Script,它具有以下function:

#* @get /hello hello <- function() { print("hello") } 

您可以运行以下命令:

 library(plumber) r <- plumb("example.R") r$run(port=8080) 

如果您再调用该页面

 http://localhost:8080/hello 

你的R代码将被执行。

如果要从Java执行它,解决方案可能是:

  URL url = new URL("http://localhost:8080/hello"); URLConnection connection = url.openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader( (connection.getInputStream()))); String result = br.readLine();