你如何从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();