【发布时间】:2015-03-16 19:26:17
【问题描述】:
我正在尝试在 R 中创建一个数据框,从 Java 中的 ArrayList 中获取数据。
下面的代码似乎是官方 JRI 测试套件 (see this link) 但它甚至无法编译,例如在第一条语句中 RList 没有 put 方法并且 REXP.createDataFrame 方法不存在.
REXP.createDataFrame 有更新的例子吗?无法在线找到具体/功能示例。另外,找不到任何 JRI 文档。
String[] Rargs = {"--vanilla"};
Rengine re = new Rengine(Rargs, false, null);
if (!re.waitForR()) {
System.out.println("Cannot load R");
return;
}
RList l = new RList();
l.put("a",new REXPInteger(new int[] { 0,1,2,3}));
l.put("b",new REXPDouble(new double[] { 0.5,1.2,2.3,3.0}));
re.assign("z", REXP.createDataFrame(l));
REXP x = re.parseAndEval("z");
System.out.println(" z = " + x);
更新
我发现REXP有两个类org.rosuda.JRI.REXP和org.rosuda.REngine.REXP,后者有createDataFrame(l)的方法,但是赋值不起作用。如何将数据框分配给 R 变量?
【问题讨论】:
-
你有没有注意到“org.rosuda.JRI.RList”中没有“put”方法?
-
查看我发布的链接并导出相同的库