gpt4 book ai didi

java - 如何向RList添加双元素?

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:25 24 4
gpt4 key购买 nike

我尝试使用 Java 代码通过 Rserve 调用 R。我想使用 REXPGenericVector 存储数组并将其传递给 R:

RList r = new RList();
r.add(new Double(1.0));
REXPGenericVector v = new REXPGenericVector(r);

// make a new local connection on default port (6311)
RConnection c = new RConnection();
// assign data to variable x
c.assign("x",v);

System.out.println("Printing out v:"+v);

但是,c.assign("x",v);处显示错误消息:

java.lang.ClassCastException: java.lang.Double cannot be cast to org.rosuda.REngine.REXP
at org.rosuda.REngine.RList.at(RList.java:103)
at org.rosuda.REngine.Rserve.protocol.REXPFactory.getBinaryLength(REXPFactory.java:489)
at org.rosuda.REngine.Rserve.RConnection.assign(RConnection.java:272)
at com.xypress.Test.main(Test.java:29)

如何向 RList 添加 double 或字符串或其他类型的数据?

提前致谢。

最佳答案

我也陷入了同样的陷阱!只需尝试 REXPDouble 类,而不是 Double 类。

例如:双双值 = 1.0;r.add(new REXPDouble(doubleValue));

应该可以。

如果您想了解更多信息,请查看此网页:http://icbtools.med.cornell.edu/javadocs/Rserve/org/rosuda/REngine/REXPDouble.html

关于java - 如何向RList添加双元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17971603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com