java 调用r的脚本_Java调用R语言脚本

本文介绍了多种在Java中调用R语言脚本的方法,包括使用JRI/rJava项目、RCaller库、Runtime.getRuntime().exec()命令,以及FastR和Renjin解释器。通过这些方法,开发者可以在Java应用中无缝集成R的统计分析和图形生成能力。
摘要由CSDN通过智能技术生成

Check out the JRI/rJava project which provides a Java/R interface. After you download the package, see the examples directory.

Another option is to use the RCaller library (though I've never tried it myself...this question suggests potential performance issues).

REF

https://stackoverflow.com/questions/8509120/how-can-i-use-java-to-output-an-r-graph

===============

String rScriptFileName = rPath+"My_R_Script.R";

Runtime.getRuntime().exec("mypathto\\R\\bin\\Rscript "+rScriptFileName);

===============

Runtime.getRuntime().exec("Rscript myScript.R");

===============

Process child = Runtime.getRuntime().exec(command, environments, dataDir);

int code = child.waitFor();

switch (code) {

case 0:

//normal termination, everything is fine

break;

case 1:

//Read the error stream then

String message = IOUtils.toString(child.getErrorStream());

throw new RExecutionException(message);

}

===============

BufferedReader reader = null;

Process shell = null;

try {

shell = Runtime.getRuntime().exec(new String[]

{ "/usr/bin/Rscript", "/media/subin/works/subzworks/RLanguage/config/predict.R" });

reader = new BufferedReader(new InputStreamReader(shell.getInputStream()));

String line;

while ((line = reader.readLine()) != null)

{ System.out.println(line); } }

catch (IOException e)

{ e.printStackTrace(); }

===============

You might want to take a look at these three projects.

===============

You can also use FastR, which is R engine implemented on top of JVM. Using it from Java is as simple as:

Context context = Context.newBuilder("R").allowAllAccess(true).build();

int result = context.eval("R", "sum").execute(new int[] {3,4,5}).asInt();

context.eval("R", "print('you can eval any R code here');");

===============

What worked for me was to use the Renjin interpreter Download Renjin

===============

===============

===============

===============

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值