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 > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel