Here is the example of passing a double[][] matrix from Java to R, making R calculate the inverse of this matrix and handling the result in Java. Note that code is current for 2.2 version of RCaller.
RCaller caller = new RCaller();
Globals.detect_current_rscript();
caller.setRscriptExecutable(Globals.Rscript_current);
RCode code = new RCode();
double[][] matrix = new double[][]{{6, 4}, {9, 8}};
code.addDoubleMatrix("x", matrix);
code.addRCode("s<-solve font="" x="">);
caller.setRCode(code);
caller.runAndReturnResult("s");
double[][] inverse = caller.getParser().getAsDoubleMatrix("s", -solve>
matrix.length, matrix[0].length);
for (int i = 0; i < inverse.length; i++) {
for (int j = 0; j < inverse[0].length; j++) {
System.out.print( inverse[i][j] + " ");
}
System.out.println();
}
No comments:
Post a Comment
Thanks