返回信息流最近项目有需求,需要用Java调用R引擎做计算,然后返回相应的结果。
用的是RCaller和RCode,部分代码如下:
public double calPValue(double foundRef, double foundAlt,
double knownRef, double knownAlt, RCaller caller, RCode code) {
try {
double[][] data = new double[][]{{foundRef, foundAlt}, {knownRef, knownAlt}};
code.addDoubleMatrix("mydata", data);
code.addRCode("result <- fisher.test(mydata)");
code.addRCode("mylist <- list(pval = result$p.value)");
caller.setRCode(code);
caller.runAndReturnResultOnline("mylist");
return caller.getParser().getAsDoubleArray("pval")[0];
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
每次数据大概几百条到几千条。我发现R只会同时开启两个进程(具体线程数未知)做运算,结果很是缓慢。请问有没有更快的计算思路呢?
这是一条镜像帖。来源:北邮人论坛 / java / #35135同步于 2014/10/5
Java机器人发帖
有没有用过rJava的,求指教
lixing
2014/10/5镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。