1
我在Java中使用RCaller以執行外部R程序。RCaller獲取未知大小的矩陣
問題是,我不知道矩陣的確切大小,但.getAsDoubleMatrix()
方法想要的大小。
double[][] matrix = caller.getParser().getAsDoubleMatrix("result", DONT_KNOW, DONT_KNOW);
有沒有辦法保持大小動態?
我在Java中使用RCaller以執行外部R程序。RCaller獲取未知大小的矩陣
問題是,我不知道矩陣的確切大小,但.getAsDoubleMatrix()
方法想要的大小。
double[][] matrix = caller.getParser().getAsDoubleMatrix("result", DONT_KNOW, DONT_KNOW);
有沒有辦法保持大小動態?
通過revision e263b5393d43,RoutputParser類現在有getDimensions()方法來獲取矩陣的未知維。這裏是通過測試的文件:
int n = 21;
int m = 23;
double[][] data = new double[n][m];
for (int i=0;i<data.lengthi++){
for (int j=0;j<data[0].length;j++){
data[i][j] = Math.random();
}
}
RCaller caller = new RCaller();
Globals.detect_current_rscript();
caller.setRscriptExecutable(Globals.Rscript_current);
RCode code = new RCode();
code.addDoubleMatrix("x", data);
caller.setRCode(code);
caller.runAndReturnResult("x");
int[] mydim = caller.getParser().getDimensions("x");
Assert.assertEquals(n, mydim[0]);
Assert.assertEquals(m, mydim[1]);
最新編譯的Jar不包括此更新,但是,我打算一個2.3版下週準備,或者你可以下載源,並立即編譯自己。
訪問RCaller的官方博客頁面的最新版本here
好,謝謝,這樣的解決方案是,有沒有辦法解決。 : -/ – Chris
放鬆!獲取版本2.3.0,其中包含使用鏈接https://drive.google.com/folderview?id=0B-sn_YiTiFLGZUt6d3gteVdjTGM&usp=drive_web – jbytecode
請求的功能。這是新版本的博客條目:http:/ /stdioe.blogspot.com.tr/2014/05/new-release-rcaller-230_15.html – jbytecode