Re: [R] Copying to R a rectangular array from a Java class

2011-07-04 Thread Sanketh
Hi, can you please tel me how to retrieve String two dimensional array as
like sapply?

--
View this message in context: 
http://r.789695.n4.nabble.com/Copying-to-R-a-rectangular-array-from-a-Java-class-tp3486167p3643223.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.


Re: [R] Copying to R a rectangular array from a Java class

2011-05-02 Thread Hurr
I discovered that a row of a rectangular array returns, but a function
parameter is not sent to Java.
Appended bare test code: My simple Java test class source and R test code
follow:
public class RJavTest { 
  public static void main(String[]args) { RJavTest rJavTest=new RJavTest();
} 
  public final static String conStg=testString; 
  public final static double con0dbl=1001; 
  public final static double[]con1Arr=new double[] {
10001,10002,10003,10004,10005,10006 }; 
  public final static double[][]con2Arr=new double[][] { { 101,102,103,104
},{ 201,202,203,204 },{ 301,302,303,304 } }; 
  public final static String retConStg() { return(conStg); } 
  public final static double retCon0dbl() { return(con0dbl); } 
  public final static double[] retCon1Arr() { return(con1Arr); } 
  public final static double[] retCon2Row0() { return(con2Arr[0]); } 
  public final static double[] retCon2Row(int row) { return(con2Arr[row]); } 
  public final static double[][] retCon2Arr() { return(con2Arr); } 
}
library(rJava)
.jinit()
.jaddClassPath(C:/ad/j) # a directory on my disk 
print(.jclassPath())
rJavaTst - .jnew(RJavTest) # compiled java to class file
connStg - .jfield(rJavaTst,sig=S,conStg)
print(connStg)
connStgRet - .jcall(rJavaTst,returnSig=S,retConStg)
print(connStgRet)
conn1Arr - .jfield(rJavaTst,sig=[D,con1Arr)
print(conn1Arr)
print(conn1Arr[2])
conn1ArrRet - .jcall(rJavaTst,returnSig=[D,retCon1Arr)
print(conn1ArrRet)
print(conn1ArrRet[2])
conn0dbl - .jfield(rJavaTst,sig=D,con0dbl)
print(conn0dbl,digits=15)
conn2Row0Ret - .jcall(rJavaTst,returnSig=[D,retCon2Row0)
print(conn2Row0Ret)
print(conn2Row0Ret[2])
# The above is education, questions on rectangular and parameters are below
conn2Arr- .jfield(rJavaTst,sig=[[D,con2Arr)
conn2ArrRet - .jcall(rJavaTst,returnSig=[[D,retCon2Arr)
# I can't identify any complaints so far 
print(conn2Arr)
print(conn2ArrRet)
conn2RowRet - .jcall(rJavaTst,returnSig=[D,retCon2Row,0)
print(conn2RowRet)
print(conn2RowRet[2])
# But what meaning should I get from these strange messages? 

The results are:
 library(rJava)
 .jinit()
 .jaddClassPath(C:/ad/j) # a directory on my disk 
 print(.jclassPath())
[1] C:\\Users\\ENVY17\\Documents\\R\\win-library\\2.12\\rJava\\java
[2] C:\\ad\\j  
 rJavaTst - .jnew(RJavTest) # compiled java to class file
 connStg - .jfield(rJavaTst,sig=S,conStg)
 print(connStg)
[1] testString
 connStgRet - .jcall(rJavaTst,returnSig=S,retConStg)
 print(connStgRet)
[1] testString
 conn1Arr - .jfield(rJavaTst,sig=[D,con1Arr)
 print(conn1Arr)
[1] 10001 10002 10003 10004 10005 10006
 print(conn1Arr[2])
[1] 10002
 conn1ArrRet - .jcall(rJavaTst,returnSig=[D,retCon1Arr)
 print(conn1ArrRet)
[1] 10001 10002 10003 10004 10005 10006
 print(conn1ArrRet[2])
[1] 10002
 conn0dbl - .jfield(rJavaTst,sig=D,con0dbl)
 print(conn0dbl,digits=15)
[1] 1001
 conn2Row0Ret - .jcall(rJavaTst,returnSig=[D,retCon2Row0)
 print(conn2Row0Ret)
[1] 101 102 103 104
 print(conn2Row0Ret[2])
[1] 102
 # The above is education, questions on rectangular and parameters are
 below
 conn2Arr- .jfield(rJavaTst,sig=[[D,con2Arr)
 conn2ArrRet - .jcall(rJavaTst,returnSig=[[D,retCon2Arr)
 # I can't identify any complaints so far 
 print(conn2Arr)
[[1]]
[1] Java-Array-Object[D:[D@66848c
[[2]]
[1] Java-Array-Object[D:[D@8813f2
[[3]]
[1] Java-Array-Object[D:[D@1d58aae
 print(conn2ArrRet)
[[1]]
[1] Java-Array-Object[D:[D@66848c
[[2]]
[1] Java-Array-Object[D:[D@8813f2
[[3]]
[1] Java-Array-Object[D:[D@1d58aae
 conn2RowRet - .jcall(rJavaTst,returnSig=[D,retCon2Row,0)
Error in .jcall(rJavaTst, returnSig = [D, retCon2Row, 0) : 
  method retCon2Row with signature (D)[D not found
 print(conn2RowRet)
Error in print(conn2RowRet) : object 'conn2RowRet' not found
 print(conn2RowRet[2])
Error in print(conn2RowRet[2]) : object 'conn2RowRet' not found
 # But what meaning should I get from these strange messages? 
 


--
View this message in context: 
http://r.789695.n4.nabble.com/Copying-to-R-a-rectangular-array-from-a-Java-class-tp3486167p3489899.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.


Re: [R] Copying to R a rectangular array from a Java class

2011-05-02 Thread Hurr
I am happy to report that the author and maintainer of rJava informed me
that the 2-dim array in java needs sapply and .jevalArray as follows:

 conn2Arr- sapply(.jfield(rJavaTst,sig=[[D,con2Arr),.jevalArray)
 conn2ArrRet -
 sapply(.jcall(rJavaTst,returnSig=[[D,retCon2Arr),.jevalArray)
 # I can't identify any complaints so far 
 print(conn2Arr)
 [,1] [,2] [,3]
[1,]  101  201  301
[2,]  102  202  302
[3,]  103  203  303
[4,]  104  204  304
 print(conn2ArrRet)
 [,1] [,2] [,3]
[1,]  101  201  301
[2,]  102  202  302
[3,]  103  203  303
[4,]  104  204  304
 I know there are a few out there interested since I see I got a few views.
But, I don't know the solution to the parameter-passing problem yet.


--
View this message in context: 
http://r.789695.n4.nabble.com/Copying-to-R-a-rectangular-array-from-a-Java-class-tp3486167p3490919.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.


[R] Copying to R a rectangular array from a Java class

2011-04-30 Thread Hurr
Bare test code: My simple Java test class source and R test code follow:
public class RJavTest { 
  public static void main(String[]args) { RJavTest rJavTest=new RJavTest();
} 
  public final static String conStg=testString; 
  public final static double con0dbl=1001; 
  public final static double[]con1Arr=new double[] {
10001,10002,10003,10004,10005,10006 }; 
  public final static double[][]con2Arr=new double[][] { { 101,102,103,104
},{ 201,202,203,204 },{ 301,302,303,304 } }; 
  public final static String retConStg() { return(conStg); } 
  public final static double retCon0dbl() { return(con0dbl); } 
  public final static double[] retCon1Arr() { return(con1Arr); } 
  public final static double[][] retCon2Arr() { return(con2Arr); } 
}
library(rJava)
.jinit()
.jaddClassPath(C:/ad/j) # a directory on my disk 
print(.jclassPath())
rJavaTst - .jnew(RJavTest) # compilation of class code 
connStg - .jfield(rJavaTst,sig=S,conStg)
print(connStg)
connStgRet - .jcall(rJavaTst,returnSig=S,retConStg)
print(connStgRet)
conn1Arr - .jfield(rJavaTst,sig=[D,con1Arr)
print(conn1Arr)
print(conn1Arr[2])
conn1ArrRet - .jcall(rJavaTst,returnSig=[D,retCon1Arr)
print(conn1ArrRet)
print(conn1ArrRet[2])
conn0dbl - .jfield(rJavaTst,sig=D,con0dbl)
print(conn0dbl,digits=15)
# The above is just for education, question on rectangular is below
conn2Arr- .jfield(rJavaTst,sig=[[D,con2Arr)
conn2ArrRet - .jcall(rJavaTst,returnSig=[[D,retCon2Arr)
# I can't identify any complaints so far 
print(conn2Arr)
print(conn2ArrRet)

The results are:
 library(rJava)
 .jinit()
 .jaddClassPath(C:/ad/j) # a directory on my disk 
 print(.jclassPath())
[1] C:\\Users\\ENVY17\\Documents\\R\\win-library\\2.12\\rJava\\java
[2] C:\\ad\\j  
 rJavaTst - .jnew(RJavTest) # compilation of class code 
 connStg - .jfield(rJavaTst,sig=S,conStg)
 print(connStg)
[1] testString
 connStgRet - .jcall(rJavaTst,returnSig=S,retConStg)
 print(connStgRet)
[1] testString
 conn1Arr - .jfield(rJavaTst,sig=[D,con1Arr)
 print(conn1Arr)
[1] 10001 10002 10003 10004 10005 10006
 print(conn1Arr[2])
[1] 10002
 conn1ArrRet - .jcall(rJavaTst,returnSig=[D,retCon1Arr)
 print(conn1ArrRet)
[1] 10001 10002 10003 10004 10005 10006
 print(conn1ArrRet[2])
[1] 10002
 conn0dbl - .jfield(rJavaTst,sig=D,con0dbl)
 print(conn0dbl,digits=15)
[1] 1001
 # The above is just for education, question on rectangular is below
 conn2Arr- .jfield(rJavaTst,sig=[[D,con2Arr)
 conn2ArrRet - .jcall(rJavaTst,returnSig=[[D,retCon2Arr)
 # I can't identify any complaints so far 
 print(conn2Arr)
[[1]]
[1] Java-Array-Object[D:[D@66848c
[[2]]
[1] Java-Array-Object[D:[D@8813f2
[[3]]
[1] Java-Array-Object[D:[D@1d58aae
 print(conn2ArrRet)
[[1]]
[1] Java-Array-Object[D:[D@66848c
[[2]]
[1] Java-Array-Object[D:[D@8813f2
[[3]]
[1] Java-Array-Object[D:[D@1d58aae

 
But what meaning should get from these strange messages? 

--
View this message in context: 
http://r.789695.n4.nabble.com/Copying-to-R-a-rectangular-array-from-a-Java-class-tp3486167p3486167.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.