Thanks! I just figured it out (thanks to "Beyond Compare") and was coming here to post back.
The boxM test doesn't work with that (now, finally working) REXP structure, but I probably now need to create a table or something and parse that structure. So much fun! :) Thanks again. - M Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. > -------- Original Message -------- > Subject: Re: [Rd] How to create a table structure in Java code? > Local Time: October 26, 2017 10:13 AM > UTC Time: October 26, 2017 2:13 PM > From: simon.urba...@r-project.org > To: Morkus <mor...@protonmail.com> > Jan van der Laan <rh...@eoos.dds.nl>, r-devel@r-project.org > <r-devel@r-project.org> > > You are entering the quoting hell - you are missing quotes and escapes for > \n. it would be much more reasonable to use the rConnection.assign method > instead of pasting any content through the parser. > > Cheers, > Simon > >> On Oct 26, 2017, at 9:59 AM, Morkus via R-devel r-devel@r-project.org wrote: >> That's amazing! Thank you!!! >> One follow up question, if that's OK? >> If, instead of using hard-coded CSV, I read the CSV into a variable first, >> then it fails again with a parse error. >> Code below. >> So, if I read the CSV into a variable, do I need an additional wrapper >> method? >> Seems like it should still work. >> Thanks in advance for your reply. >> -M >> String inputIris = "5.1,3.5,1.4,0.2,setosa\n" + >> "4.9,3,1.4,0.2,setosa\n" + >> "4.7,3.2,1.3,0.2,setosa\n" + >> "4.6,3.1,1.5,0.2,setosa\n" + >> "5,3.6,1.4,0.2,setosa\n" + >> "5.4,3.9,1.7,0.4,setosa\n" + >> "4.6,3.4,1.4,0.3,setosa"; >> REXP irisData =rConnection.eval( >> "read.csv(textConnection(" + inputIris + "), header = FALSE)"); >> Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. >> >>> -------- Original Message -------- >>> Subject: Re: [Rd] How to create a table structure in Java code? >>> Local Time: October 26, 2017 7:45 AM >>> UTC Time: October 26, 2017 11:45 AM >>> From: rh...@eoos.dds.nl >>> To: r-devel@r-project.org >>> I suspect that you are looking for something like: >>> read.csv(textConnection( >>> "5.1,3.5,1.4,0.2,setosa >>> 4.9,3,1.4,0.2,setosa >>> 4.7,3.2,1.3,0.2,setosa >>> 4.6,3.1,1.5,0.2,setosa >>> 5,3.6,1.4,0.2,setosa" >>> ), header = FALSE) >>> HTH, >>> Jan >>> On 25-10-17 12:50, Morkus via R-devel wrote: >>> >>>> Hi all, >>>> Using RConsole, it's easy to get data from the database that you can use >>>> in an R Command. Like this: >>>> (Reference case) >>>> irisQuery <- dbGetQuery(conn, "select * from iris") >>>> boxM(irisQuery [,-5], irisQuery[,5]) >>>> >>>> (Actual case this posting is about) >>>> Yet, if I'm getting that same (sample IRIS) data, say, in a web service >>>> possibly POSTED from a SQL command, that same data might look like this >>>> (portion of the included iris data set below). I'm thus not sure how to >>>> package the data so R likes it. >>>> Example R-included IRIS data from SQL output: >>>> 5.1,3.5,1.4,0.2,setosa, >>>> 4.9,3,1.4,0.2,setosa, >>>> 4.7,3.2,1.3,0.2,setosa, >>>> 4.6,3.1,1.5,0.2,setosa, >>>> 5,3.6,1.4,0.2,setosa, >>>> I've tried various combinations in code to achieve what's simple in >>>> RConsole, but I can't get R to accept my structure. >>>> >>>> - I've tried just including the data in a string. >>>> - I've tried wrapping the data with "data" >>>> - I've tried wrapping the data with "data.frame" (as below). >>>> >>>> Here's my latest attempt: >>>> String tableRead = "data.frame(5.1,3.5,1.4,0.2,setosa\n" + >>>> "4.9,3,1.4,0.2,setosa\n" + >>>> "4.7,3.2,1.3,0.2,setosa\n" + >>>> "4.6,3.1,1.5,0.2,setosa\n" + >>>> "5,3.6,1.4,0.2,setosa)" ; >>>> // using parseAndEval below to give me actual error R is sending... >>>> REXP rResponseObject = >>>> rConnection.parseAndEval("try(eval("+tableRead+"),silent=TRUE)"); >>>> if (rResponseObject.inherits("try-error")) >>>> { >>>> System.out.println("R Serve Eval Exception : "+rResponseObject.asString()); >>>> } >>>> REXP boxMResult = rConnection.eval("boxM("+ tableRead+ "[,-5]," + >>>> tableRead + "[, 5])"); // FAILS << >>>> >>>> Error in the above case is: >>>> Disconnected from the target VM, address: '127.0.0.1:51356', transport: >>>> 'socket' >>>> org.rosuda.REngine.REngineException: eval failed, request status: R >>>> parser: syntax error >>>> at org.rosuda.REngine.Rserve.RConnection.parseAndEval(RConnection.java:454) >>>> at org.rosuda.REngine.REngine.parseAndEval(REngine.java:108) >>>> at >>>> net.example.start_r_fromjava.RStatisticsExample.main(RStatisticsExample.java:151) >>>> Does the POSTed data need to be in a different format or am I just not >>>> framing it correctly? >>>> Would appreciate any tips on how to package table data that might come >>>> from a SQL Query passed to Java code. >>>> Thanks very much in advance, >>>> >>>> - M >>>> >>>> Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted >>>> email. >>>> [[alternative HTML version deleted]] >>>> >>>> R-devel@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> >>> --------------------------------------------------------------- >>> >>> R-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> [[alternative HTML version deleted]] >> >> --------------------------------------------------------------- >> >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel