No response, and I still cannot do it or find out where to learn. JAVA CLASS SOURCE FOR R: public class Transf2R { Transf2R transf2R; public static void main(String[]args) { Transf2R transf2R=new Transf2R(); transf2R.transf2R=transf2R; transf2R.transf2R.main2(); } public final static void main2() { //no code yet } public final static double con0dbl=10001; public final static double[]con1Vec=new double[] { 10001,10002,10003,10004,10005,10006 }; public final static double[][]con2Arr=new double[][] { { 10001,10002,10003,10004 },{ 20001,20002,20003,20004 },{ 30001,30002,30003,30004 } }; public final static double[][]arReturnMethod() { double[][]retArr=new double[3][4]; for(int i=0;i<3;i++)for(int j=0;j<4;j++)retArr[i][j]=i*1000+j; return(retArr); } public final static double[][]dbl2DimArRet4R(double[][]dbl2DimAr4R) { return(dbl2DimAr4R); } public final static double[]dbl1DimVcRet4R(double[]dbl1DimVc4R) { return(dbl1DimVc4R); } public final static double dblRet4R(double dbl4R) { return(dbl4R); } public final static double dblNum4R=Math.PI; }
R RUN OUTPUT: > library(rJava) > .jinit() > .jaddClassPath("C:/ad/j") > print(.jclassPath()) [1] "C:\\Users\\ENVY17\\Documents\\R\\win-library\\2.13\\rJava\\java" [2] "C:\\ad\\j" > trnsfer2R <- .jnew("Transf2R") > arj3x4Ret <- .jcall(trnsfer2R,returnSig="[[D","arReturnMethod") > print(arj3x4Ret) [[1]] [1] "Java-Array-Object[D:[D@8813f2" [[2]] [1] "Java-Array-Object[D:[D@1d58aae" [[3]] [1] "Java-Array-Object[D:[D@83cc67" > arj3x4Ret <- > sapply(.jcall(trnsfer2R,returnSig="[[D","arReturnMethod"),.jevalArray) > print(arj3x4Ret) # note: row and column indices get interchanged [,1] [,2] [,3] [1,] 0 1000 2000 [2,] 1 1001 2001 [3,] 2 1002 2002 [4,] 3 1003 2003 > dblNum <- .jcall(trnsfer2R,returnSig="D","dblRet4R",trnsfer2R$dblNum4R) > print(dblNum,digits=20) [1] 3.141592653589793116 > conn1Vec <- > .jcall(trnsfer2R,returnSig="[D","dbl1DimVcRet4R",trnsfer2R$con1Vec) # > con1Vec is java one dim array of double precision constants > print(conn1Vec) [1] 10001 10002 10003 10004 10005 10006 > conn2Arr <- > .jcall(trnsfer2R,returnSig="[[D","dbl2DimArRet4R",trnsfer2R$con2Arr) # > con2Arr is java two dim array of double precision constants Error in .jcall(trnsfer2R, returnSig = "[[D", "dbl2DimArRet4R", trnsfer2R$con2Arr) : method dbl2DimArRet4R with signature ()[[D not found > conn2Arr <- > sapply(.jcall(trnsfer2R,returnSig="[[D","dbl2DimArRet4R",trnsfer2R$con2Arr),.jevalArray) > # con2Arr is java two dim array Error in .jcall(trnsfer2R, returnSig = "[[D", "dbl2DimArRet4R", trnsfer2R$con2Arr) : method dbl2DimArRet4R with signature ()[[D not found > OBSERVATIONS AND QUESTIONS: 1) sapply( ,.jevalArray) made arj3x4Ret correct 2) sapply( ,.jevalArray) did not make conn2Arr correct 3) dblNum and conn1Vec did not need sapply() 4) returnSig="[[D" worked to get arj3x4Ret but not for conn2Arr 5) row and column indices get interchanged in arj3x4Ret 6) How do I transfer to dblNum, conn1Vec, and conn2Arr without the methods in java? 7) For large two dimensional arrays, are there two simultaneous copies clogging up small computer memory? -- View this message in context: http://r.789695.n4.nabble.com/calling-java-from-R-and-using-java-time-series-double-precision-array-tp4494581p4501306.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.