Getting started with RCaller 3.1



我尝试从rcaller开始,但我从一开始就失败了。
当我尝试运行任何示例时,该行

RCaller caller = RCaller.create(); 

给出以下例外:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.github.rcaller.rstuff.RCallerOptions.create(RCallerOptions.java:32)
    at com.github.rcaller.rstuff.RCaller.create(RCaller.java:83)
    at Test.main(Test.java:8)
Caused by: java.lang.NullPointerException
    at java.util.Arrays.sort(Unknown Source)
    at com.github.rcaller.util.Globals.<clinit>(Globals.java:65)
    ... 3 more

我想原因是在globals.java中,有针对R定义的路径,这不符合我的安装。如果是正确的话,问题就变成了:
我该如何告诉rcaller我的r安装在哪里?
我知道在较早版本的rcaller中,类似

caller.setRScriptExecutable( String path );
caller.setRExecutable( String path );  

存在,但这命令不再起作用。
我还尝试更改Globals.java,然后更改

public static String RScript_Windows = "C:\Program Files\R\R-3.0.2\bin\Rscript.exe";
public static String R_Windows = "C:\Program Files\R\R-3.0.2\bin\R.exe";

to

public static String RScript_Windows = "E:\R\R-3.1.1\bin\Rscript.exe";
public static String R_Windows = "E:\R\R-3.1.1\bin\R.exe";

,但这不是正确的解决方案,而且它无论如何都无法工作。
有人知道适当的解决方案吗?

rcaller已更新以解决问题

创建rcalleroptions并将选项设置为rcaller.create。rcalleroptions.create采用R可执行路径和RScript可执行路径的参数。

RCallerOptions options = RCallerOptions.create("D:\software\R\R-3.4.2\bin\Rscript.exe", "D:\software\R\R-3.4.2\bin\R.exe", FailurePolicy.RETRY_1, 3000l, 100l, RProcessStartUpOptions.create());
RCaller caller = RCaller.create(options);

相关内容

  • 没有找到相关文章

最新更新