首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Renjin在Java中加载rdara/rds文件

使用Renjin在Java中加载rdara/rds文件
EN

Stack Overflow用户
提问于 2020-11-05 14:12:54
回答 1查看 254关注 0票数 2

我想在Java中加载和解析RDS/RData文件,我做了一些googling,发现Renjin帮助调用Java中的R函数。(我不是R开发人员,在^^‘之前我甚至不知道这些文件的存在。)

这是我的R码:

代码语言:javascript
运行
复制
my_data <- readRDS("R/outputs_profils_cl8.RDS")

这是我的Java代码:

代码语言:javascript
运行
复制
RenjinScriptEngineFactory factory = new RenjinScriptEngineFactory();
RenjinScriptEngine engine = factory.getScriptEngine();
        
engine.eval(new java.io.FileReader("R/script.R"));

我的pom.xml文件:

代码语言:javascript
运行
复制
<dependency>
        <groupId>org.renjin</groupId>
        <artifactId>renjin-script-engine</artifactId>
        <version>3.5-beta65</version>
    </dependency>

但我发现了一个错误:

线程“主”

中的org.renjin.eval.EvalException异常:无法读取R3.5.0编写的工作区版本3;需要R 3.5.0或更高版本在org.renjin.primitives.R$primitive$unserializeFromConn.applyPromised(R$primitive$unserializeFromConn.java:42) at org.renjin.sexp.BuiltinFunction.apply(BuiltinFunction.java:100) at org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:46) at org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:39) at org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) atorg.renjin.sexp.Closure.applyPromised(Closure.java:200) at org.renjin.sexp.Closure.apply(Closure.java:133) at org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) at org.renjin.primitives.special.AssignLeftFunction.assignLeft(AssignLeftFunction.java:58) at org.renjin.primitives.special.AssignLeftFunction.apply(AssignLeftFunction.java:42) at org.renjin.sexp.FunctionCall.eval(FunctionCall.java:80) at org.renjin.sexp.ExpressionVector.eval(( org.renjin.eval.Context.evaluate(Context.java:280) at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:174) at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:169) at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:148) at control.Main.main(Main.java:330)

你知道如何解决这个问题吗?我遵循了人进网站的安装说明。

如果您可以提出其他可以完成以下工作的解决方案/库,我将保持开放:)

谢谢你的提前!

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 14:20:30

虽然我确信有办法做到这一点,但我认为你应该问问自己是否应该这样做。

.RData不是一种在不同软件之间存储和传输文件的传统格式。相反,您应该将数据从.Rdata文件导出为更合适的格式,例如逗号分隔值(.csv)。

这些其他格式有更广泛的支持,在大多数情况下将更适合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64698971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档