我想在 Java 中加载和解析 RDS/RData 文件,我做了一些谷歌搜索,发现 Renjin 有助于在 Java 中调用 R 函数。(我不是 R 开发人员,在 ^^' 之前我什至不知道这些文件的存在)
所以这是我的 R 代码:
my_data <- readRDS("R/outputs_profils_cl8.RDS")
这是我的 Java 代码:
RenjinScriptEngineFactory factory = new RenjinScriptEngineFactory();
RenjinScriptEngine engine = factory.getScriptEngine();
engine.eval(new java.io.FileReader("R/script.R"));
我的 pom.xml 文件:
<dependency>
<groupId>org.renjin</groupId>
<artifactId>renjin-script-engine</artifactId>
<version>3.5-beta65</version>
</dependency>
但我得到了这个错误:
线程“主”org.renjin.eval.EvalException 中的异常:无法读取 R 3.5.0 编写的工作区版本 3;在 org.renjin.sexp.BuiltinFunction.apply(BuiltinFunction.java:100) 的 org.renjin.primitives.R$primitive$unserializeFromConn.applyPromised(R$primitive$unserializeFromConn.java:42) 需要 R 3.5.0 或更新版本org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:46) 在 org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) 在 org.renjin.primitives.special.BeginFunction.apply(BeginFunction. java:39) at org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) at org.renjin.sexp.Closure.applyPromised(Closure.java:200) at org.renjin.sexp.Closure.apply(Closure .java:133) 在 org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) 在 org.renjin.primitives.special.AssignLeftFunction.assignLeft(AssignLeftFunction.
你知道如何解决这个问题吗?我已按照 Renjin 网站的安装说明进行操作。
如果您可以提出任何其他可以完成工作的解决方案/库,我将保持开放状态:)
感谢提前!