As Joris mentioned this question does not belong on R-devel, but on R-help.

When replying to your earlier question I missed that I was replying to R-devel and not R-help. R-devel: sorry for that.

So, please post any follow up questions to R-help.

--
Jan


On 26-10-17 15:59, Morkus 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 <mailto:R-devel@r-project.org> mailing list
    https://stat.ethz.ch/mailman/listinfo/r-devel


------------------------------------------------------------------------

R-devel@r-project.org <mailto: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

Reply via email to