我试图从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";至
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";但这不可能是正确的解决方案,而且无论如何也不起作用。
有人知道正确的解决办法吗?
发布于 2016-12-15 14:25:45
RCaller已被更新以修复问题。
发布于 2018-04-19 15:33:20
创建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);https://stackoverflow.com/questions/41042312
复制相似问题