It can't be this hard, right? I really need a shove in the right direction here. Been spinning wheels for three days. Cannot get past the errors. I'm doing something wrong, obviously, since I can easily compute the Box's M right there in RStudio But I don't see what is wrong below with the coding equivalent. The entire code snippet is below. The code fails below on the call to the boxM statistic call. PLEASE HELP!!! Thanks in advance, ------------------------- rConnection.eval("library('biotools')"); 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\n" + "5,3.4,1.5,0.2,setosa\n" + "4.4,2.9,1.4,0.2,setosa\n" + "4.9,3.1,1.5,0.1,setosa\n" + "5.4,3.7,1.5,0.2,setosa\n" + "4.8,3.4,1.6,0.2,setosa\n" + "4.8,3,1.4,0.1,setosa\n" + "4.3,3,1.1,0.1,setosa\n" + "5.8,4,1.2,0.2,setosa\n" + "5.7,4.4,1.5,0.4,setosa\n" + "5.4,3.9,1.3,0.4,setosa\n" + "5.1,3.5,1.4,0.3,setosa\n" + "5.7,3.8,1.7,0.3,setosa\n" + "5.1,3.8,1.5,0.3,setosa\n" + "5.4,3.4,1.7,0.2,setosa\n" + "5.1,3.7,1.5,0.4,setosa\n" + "4.6,3.6,1,0.2,setosa\n" + "5.1,3.3,1.7,0.5,setosa\n" + "4.8,3.4,1.9,0.2,setosa\n" + "5,3,1.6,0.2,setosa\n" + "5,3.4,1.6,0.4,setosa\n" + "5.2,3.5,1.5,0.2,setosa\n" + "5.2,3.4,1.4,0.2,setosa\n" + "4.7,3.2,1.6,0.2,setosa\n" + "4.8,3.1,1.6,0.2,setosa\n" + "5.4,3.4,1.5,0.4,setosa\n" + "5.2,4.1,1.5,0.1,setosa\n" + "5.5,4.2,1.4,0.2,setosa\n" + "4.9,3.1,1.5,0.2,setosa\n" + "5,3.2,1.2,0.2,setosa\n" + "5.5,3.5,1.3,0.2,setosa\n" + "4.9,3.6,1.4,0.1,setosa\n" + "4.4,3,1.3,0.2,setosa\n" + "5.1,3.4,1.5,0.2,setosa\n" + "5,3.5,1.3,0.3,setosa\n" + "4.5,2.3,1.3,0.3,setosa\n" + "4.4,3.2,1.3,0.2,setosa\n" + "5,3.5,1.6,0.6,setosa\n" + "5.1,3.8,1.9,0.4,setosa\n" + "4.8,3,1.4,0.3,setosa\n" + "5.1,3.8,1.6,0.2,setosa\n" + "4.6,3.2,1.4,0.2,setosa\n" + "5.3,3.7,1.5,0.2,setosa\n" + "5,3.3,1.4,0.2,setosa\n" + "7,3.2,4.7,1.4,versicolor\n" + "6.4,3.2,4.5,1.5,versicolor\n" + "6.9,3.1,4.9,1.5,versicolor\n" + "5.5,2.3,4,1.3,versicolor\n" + "6.5,2.8,4.6,1.5,versicolor\n" + "5.7,2.8,4.5,1.3,versicolor\n" + "6.3,3.3,4.7,1.6,versicolor\n" + "4.9,2.4,3.3,1,versicolor\n" + "6.6,2.9,4.6,1.3,versicolor\n" + "5.2,2.7,3.9,1.4,versicolor\n" + "5,2,3.5,1,versicolor\n" + "5.9,3,4.2,1.5,versicolor\n" + "6,2.2,4,1,versicolor\n" + "6.1,2.9,4.7,1.4,versicolor\n" + "5.6,2.9,3.6,1.3,versicolor\n" + "6.7,3.1,4.4,1.4,versicolor\n" + "5.6,3,4.5,1.5,versicolor\n" + "5.8,2.7,4.1,1,versicolor\n" + "6.2,2.2,4.5,1.5,versicolor\n" + "5.6,2.5,3.9,1.1,versicolor\n" + "5.9,3.2,4.8,1.8,versicolor\n" + "6.1,2.8,4,1.3,versicolor\n" + "6.3,2.5,4.9,1.5,versicolor\n" + "6.1,2.8,4.7,1.2,versicolor\n" + "6.4,2.9,4.3,1.3,versicolor\n" + "6.6,3,4.4,1.4,versicolor\n" + "6.8,2.8,4.8,1.4,versicolor\n" + "6.7,3,5,1.7,versicolor\n" + "6,2.9,4.5,1.5,versicolor\n" + "5.7,2.6,3.5,1,versicolor\n" + "5.5,2.4,3.8,1.1,versicolor\n" + "5.5,2.4,3.7,1,versicolor\n" + "5.8,2.7,3.9,1.2,versicolor\n" + "6,2.7,5.1,1.6,versicolor\n" + "5.4,3,4.5,1.5,versicolor\n" + "6,3.4,4.5,1.6,versicolor\n" + "6.7,3.1,4.7,1.5,versicolor\n" + "6.3,2.3,4.4,1.3,versicolor\n" + "5.6,3,4.1,1.3,versicolor\n" + "5.5,2.5,4,1.3,versicolor\n" + "5.5,2.6,4.4,1.2,versicolor\n" + "6.1,3,4.6,1.4,versicolor\n" + "5.8,2.6,4,1.2,versicolor\n" + "5,2.3,3.3,1,versicolor\n" + "5.6,2.7,4.2,1.3,versicolor\n" + "5.7,3,4.2,1.2,versicolor\n" + "5.7,2.9,4.2,1.3,versicolor\n" + "6.2,2.9,4.3,1.3,versicolor\n" + "5.1,2.5,3,1.1,versicolor\n" + "5.7,2.8,4.1,1.3,versicolor\n" + "6.3,3.3,6,2.5,virginica\n" + "5.8,2.7,5.1,1.9,virginica\n" + "7.1,3,5.9,2.1,virginica\n" + "6.3,2.9,5.6,1.8,virginica\n" + "6.5,3,5.8,2.2,virginica\n" + "7.6,3,6.6,2.1,virginica\n" + "4.9,2.5,4.5,1.7,virginica\n" + "7.3,2.9,6.3,1.8,virginica\n" + "6.7,2.5,5.8,1.8,virginica\n" + "7.2,3.6,6.1,2.5,virginica\n" + "6.5,3.2,5.1,2,virginica\n" + "6.4,2.7,5.3,1.9,virginica\n" + "6.8,3,5.5,2.1,virginica\n" + "5.7,2.5,5,2,virginica\n" + "5.8,2.8,5.1,2.4,virginica\n" + "6.4,3.2,5.3,2.3,virginica\n" + "6.5,3,5.5,1.8,virginica\n" + "7.7,3.8,6.7,2.2,virginica\n" + "7.7,2.6,6.9,2.3,virginica\n" + "6,2.2,5,1.5,virginica\n" + "6.9,3.2,5.7,2.3,virginica\n" + "5.6,2.8,4.9,2,virginica\n" + "7.7,2.8,6.7,2,virginica\n" + "6.3,2.7,4.9,1.8,virginica\n" + "6.7,3.3,5.7,2.1,virginica\n" + "7.2,3.2,6,1.8,virginica\n" + "6.2,2.8,4.8,1.8,virginica\n" + "6.1,3,4.9,1.8,virginica\n" + "6.4,2.8,5.6,2.1,virginica\n" + "7.2,3,5.8,1.6,virginica\n" + "7.4,2.8,6.1,1.9,virginica\n" + "7.9,3.8,6.4,2,virginica\n" + "6.4,2.8,5.6,2.2,virginica\n" + "6.3,2.8,5.1,1.5,virginica\n" + "6.1,2.6,5.6,1.4,virginica\n" + "7.7,3,6.1,2.3,virginica\n" + "6.3,3.4,5.6,2.4,virginica\n" + "6.4,3.1,5.5,1.8,virginica\n" + "6,3,4.8,1.8,virginica\n" + "6.9,3.1,5.4,2.1,virginica\n" + "6.7,3.1,5.6,2.4,virginica\n" + "6.9,3.1,5.1,2.3,virginica\n" + "5.8,2.7,5.1,1.9,virginica\n" + "6.8,3.2,5.9,2.3,virginica\n" + "6.7,3.3,5.7,2.5,virginica\n" + "6.7,3,5.2,2.3,virginica\n" + "6.3,2.5,5,1.9,virginica\n" + "6.5,3,5.2,2,virginica\n" + "6.2,3.4,5.4,2.3,virginica\n" + "5.9,3,5.1,1.8,virginica\n"; List tableRead = rConnection.eval( "read.csv(textConnection(\"" + inputIris + "\"), header = FALSE)").asList(); // works! double[] d1 = ((REXPVector) ((RList) tableRead).get(0)).asDoubles(); double[] d2 = ((REXPVector) ((RList) tableRead).get(1)).asDoubles(); double[] d3 = ((REXPVector) ((RList) tableRead).get(2)).asDoubles(); double[] d4 = ((REXPVector) ((RList) tableRead).get(3)).asDoubles(); String[] d5 = ((REXPVector) ((RList) tableRead).get(4)).asStrings(); // create data frame with data.REXP myDf = REXP.createDataFrame(new RList( new REXP[] { new REXPDouble(d1), new REXPDouble(d2), new REXPDouble(d3), new REXPDouble(d4), new REXPString(d5) })); // assign the data to a variable as was suggested.rConnection.assign("boxMVariable", myDf); // create a string command with that variable name.String boxVariable = "boxM(boxMVariable [,-5], boxMVariable[,5]"; // try to execute the command... // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. [[alternative HTML version deleted]]
Does it work if you supply the closing parenthesis on the call to boxM? The parser says the input is incomplete and a missing closing parenthesis would cause that error.. // create a string command with that variable name.String boxVariable "boxM(boxMVariable [,-5], boxMVariable[,5]"; // try to execute the command... // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< Bill Dunlap TIBCO Software wdunlap tibco.com On Fri, Oct 27, 2017 at 12:41 PM, Morkus via R-devel <r-devel at r-project.org> wrote:> It can't be this hard, right? I really need a shove in the right direction > here. Been spinning wheels for three days. Cannot get past the errors. > > I'm doing something wrong, obviously, since I can easily compute the Box's > M right there in RStudio > > But I don't see what is wrong below with the coding equivalent. > > The entire code snippet is below. The code fails below on the call to the > boxM statistic call. > > PLEASE HELP!!! > > Thanks in advance, > > ------------------------- > > rConnection.eval("library('biotools')"); > > 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\n" + > "5,3.4,1.5,0.2,setosa\n" + > "4.4,2.9,1.4,0.2,setosa\n" + > "4.9,3.1,1.5,0.1,setosa\n" + > "5.4,3.7,1.5,0.2,setosa\n" + > "4.8,3.4,1.6,0.2,setosa\n" + > "4.8,3,1.4,0.1,setosa\n" + > "4.3,3,1.1,0.1,setosa\n" + > "5.8,4,1.2,0.2,setosa\n" + > "5.7,4.4,1.5,0.4,setosa\n" + > "5.4,3.9,1.3,0.4,setosa\n" + > "5.1,3.5,1.4,0.3,setosa\n" + > "5.7,3.8,1.7,0.3,setosa\n" + > "5.1,3.8,1.5,0.3,setosa\n" + > "5.4,3.4,1.7,0.2,setosa\n" + > "5.1,3.7,1.5,0.4,setosa\n" + > "4.6,3.6,1,0.2,setosa\n" + > "5.1,3.3,1.7,0.5,setosa\n" + > "4.8,3.4,1.9,0.2,setosa\n" + > "5,3,1.6,0.2,setosa\n" + > "5,3.4,1.6,0.4,setosa\n" + > "5.2,3.5,1.5,0.2,setosa\n" + > "5.2,3.4,1.4,0.2,setosa\n" + > "4.7,3.2,1.6,0.2,setosa\n" + > "4.8,3.1,1.6,0.2,setosa\n" + > "5.4,3.4,1.5,0.4,setosa\n" + > "5.2,4.1,1.5,0.1,setosa\n" + > "5.5,4.2,1.4,0.2,setosa\n" + > "4.9,3.1,1.5,0.2,setosa\n" + > "5,3.2,1.2,0.2,setosa\n" + > "5.5,3.5,1.3,0.2,setosa\n" + > "4.9,3.6,1.4,0.1,setosa\n" + > "4.4,3,1.3,0.2,setosa\n" + > "5.1,3.4,1.5,0.2,setosa\n" + > "5,3.5,1.3,0.3,setosa\n" + > "4.5,2.3,1.3,0.3,setosa\n" + > "4.4,3.2,1.3,0.2,setosa\n" + > "5,3.5,1.6,0.6,setosa\n" + > "5.1,3.8,1.9,0.4,setosa\n" + > "4.8,3,1.4,0.3,setosa\n" + > "5.1,3.8,1.6,0.2,setosa\n" + > "4.6,3.2,1.4,0.2,setosa\n" + > "5.3,3.7,1.5,0.2,setosa\n" + > "5,3.3,1.4,0.2,setosa\n" + > "7,3.2,4.7,1.4,versicolor\n" + > "6.4,3.2,4.5,1.5,versicolor\n" + > "6.9,3.1,4.9,1.5,versicolor\n" + > "5.5,2.3,4,1.3,versicolor\n" + > "6.5,2.8,4.6,1.5,versicolor\n" + > "5.7,2.8,4.5,1.3,versicolor\n" + > "6.3,3.3,4.7,1.6,versicolor\n" + > "4.9,2.4,3.3,1,versicolor\n" + > "6.6,2.9,4.6,1.3,versicolor\n" + > "5.2,2.7,3.9,1.4,versicolor\n" + > "5,2,3.5,1,versicolor\n" + > "5.9,3,4.2,1.5,versicolor\n" + > "6,2.2,4,1,versicolor\n" + > "6.1,2.9,4.7,1.4,versicolor\n" + > "5.6,2.9,3.6,1.3,versicolor\n" + > "6.7,3.1,4.4,1.4,versicolor\n" + > "5.6,3,4.5,1.5,versicolor\n" + > "5.8,2.7,4.1,1,versicolor\n" + > "6.2,2.2,4.5,1.5,versicolor\n" + > "5.6,2.5,3.9,1.1,versicolor\n" + > "5.9,3.2,4.8,1.8,versicolor\n" + > "6.1,2.8,4,1.3,versicolor\n" + > "6.3,2.5,4.9,1.5,versicolor\n" + > "6.1,2.8,4.7,1.2,versicolor\n" + > "6.4,2.9,4.3,1.3,versicolor\n" + > "6.6,3,4.4,1.4,versicolor\n" + > "6.8,2.8,4.8,1.4,versicolor\n" + > "6.7,3,5,1.7,versicolor\n" + > "6,2.9,4.5,1.5,versicolor\n" + > "5.7,2.6,3.5,1,versicolor\n" + > "5.5,2.4,3.8,1.1,versicolor\n" + > "5.5,2.4,3.7,1,versicolor\n" + > "5.8,2.7,3.9,1.2,versicolor\n" + > "6,2.7,5.1,1.6,versicolor\n" + > "5.4,3,4.5,1.5,versicolor\n" + > "6,3.4,4.5,1.6,versicolor\n" + > "6.7,3.1,4.7,1.5,versicolor\n" + > "6.3,2.3,4.4,1.3,versicolor\n" + > "5.6,3,4.1,1.3,versicolor\n" + > "5.5,2.5,4,1.3,versicolor\n" + > "5.5,2.6,4.4,1.2,versicolor\n" + > "6.1,3,4.6,1.4,versicolor\n" + > "5.8,2.6,4,1.2,versicolor\n" + > "5,2.3,3.3,1,versicolor\n" + > "5.6,2.7,4.2,1.3,versicolor\n" + > "5.7,3,4.2,1.2,versicolor\n" + > "5.7,2.9,4.2,1.3,versicolor\n" + > "6.2,2.9,4.3,1.3,versicolor\n" + > "5.1,2.5,3,1.1,versicolor\n" + > "5.7,2.8,4.1,1.3,versicolor\n" + > "6.3,3.3,6,2.5,virginica\n" + > "5.8,2.7,5.1,1.9,virginica\n" + > "7.1,3,5.9,2.1,virginica\n" + > "6.3,2.9,5.6,1.8,virginica\n" + > "6.5,3,5.8,2.2,virginica\n" + > "7.6,3,6.6,2.1,virginica\n" + > "4.9,2.5,4.5,1.7,virginica\n" + > "7.3,2.9,6.3,1.8,virginica\n" + > "6.7,2.5,5.8,1.8,virginica\n" + > "7.2,3.6,6.1,2.5,virginica\n" + > "6.5,3.2,5.1,2,virginica\n" + > "6.4,2.7,5.3,1.9,virginica\n" + > "6.8,3,5.5,2.1,virginica\n" + > "5.7,2.5,5,2,virginica\n" + > "5.8,2.8,5.1,2.4,virginica\n" + > "6.4,3.2,5.3,2.3,virginica\n" + > "6.5,3,5.5,1.8,virginica\n" + > "7.7,3.8,6.7,2.2,virginica\n" + > "7.7,2.6,6.9,2.3,virginica\n" + > "6,2.2,5,1.5,virginica\n" + > "6.9,3.2,5.7,2.3,virginica\n" + > "5.6,2.8,4.9,2,virginica\n" + > "7.7,2.8,6.7,2,virginica\n" + > "6.3,2.7,4.9,1.8,virginica\n" + > "6.7,3.3,5.7,2.1,virginica\n" + > "7.2,3.2,6,1.8,virginica\n" + > "6.2,2.8,4.8,1.8,virginica\n" + > "6.1,3,4.9,1.8,virginica\n" + > "6.4,2.8,5.6,2.1,virginica\n" + > "7.2,3,5.8,1.6,virginica\n" + > "7.4,2.8,6.1,1.9,virginica\n" + > "7.9,3.8,6.4,2,virginica\n" + > "6.4,2.8,5.6,2.2,virginica\n" + > "6.3,2.8,5.1,1.5,virginica\n" + > "6.1,2.6,5.6,1.4,virginica\n" + > "7.7,3,6.1,2.3,virginica\n" + > "6.3,3.4,5.6,2.4,virginica\n" + > "6.4,3.1,5.5,1.8,virginica\n" + > "6,3,4.8,1.8,virginica\n" + > "6.9,3.1,5.4,2.1,virginica\n" + > "6.7,3.1,5.6,2.4,virginica\n" + > "6.9,3.1,5.1,2.3,virginica\n" + > "5.8,2.7,5.1,1.9,virginica\n" + > "6.8,3.2,5.9,2.3,virginica\n" + > "6.7,3.3,5.7,2.5,virginica\n" + > "6.7,3,5.2,2.3,virginica\n" + > "6.3,2.5,5,1.9,virginica\n" + > "6.5,3,5.2,2,virginica\n" + > "6.2,3.4,5.4,2.3,virginica\n" + > "5.9,3,5.1,1.8,virginica\n"; > > List tableRead = rConnection.eval( > "read.csv(textConnection(\"" + inputIris + "\"), header > FALSE)").asList(); // works! > > double[] d1 = ((REXPVector) ((RList) tableRead).get(0)).asDoubles(); > double[] d2 = ((REXPVector) ((RList) tableRead).get(1)).asDoubles(); > double[] d3 = ((REXPVector) ((RList) tableRead).get(2)).asDoubles(); > double[] d4 = ((REXPVector) ((RList) tableRead).get(3)).asDoubles(); > String[] d5 = ((REXPVector) ((RList) tableRead).get(4)).asStrings(); > > // create data frame with data.REXP myDf = REXP.createDataFrame(new RList( > new REXP[] > { > new REXPDouble(d1), > new REXPDouble(d2), > new REXPDouble(d3), > new REXPDouble(d4), > new REXPString(d5) > })); > > // assign the data to a variable as was suggested.rConnection.assign("boxMVariable", > myDf); > > // create a string command with that variable name.String boxVariable > "boxM(boxMVariable [,-5], boxMVariable[,5]"; > > // try to execute the command... > // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, > request status: R parser: input incomplete>>>> FAILS ! >>>> REXP > theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< > > sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted > email. > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]
Just print the string you are asking to R to evaluate. It doesn't make any sense as an R expression. Fix that, and things will work. Duncan Murdoch On 27/10/2017 3:41 PM, Morkus via R-devel wrote:> It can't be this hard, right? I really need a shove in the right direction here. Been spinning wheels for three days. Cannot get past the errors. > > I'm doing something wrong, obviously, since I can easily compute the Box's M right there in RStudio > > But I don't see what is wrong below with the coding equivalent. > > The entire code snippet is below. The code fails below on the call to the boxM statistic call. > > PLEASE HELP!!! > > Thanks in advance, > > ------------------------- > > rConnection.eval("library('biotools')"); > > 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\n" + > "5,3.4,1.5,0.2,setosa\n" + > "4.4,2.9,1.4,0.2,setosa\n" + > "4.9,3.1,1.5,0.1,setosa\n" + > "5.4,3.7,1.5,0.2,setosa\n" + > "4.8,3.4,1.6,0.2,setosa\n" + > "4.8,3,1.4,0.1,setosa\n" + > "4.3,3,1.1,0.1,setosa\n" + > "5.8,4,1.2,0.2,setosa\n" + > "5.7,4.4,1.5,0.4,setosa\n" + > "5.4,3.9,1.3,0.4,setosa\n" + > "5.1,3.5,1.4,0.3,setosa\n" + > "5.7,3.8,1.7,0.3,setosa\n" + > "5.1,3.8,1.5,0.3,setosa\n" + > "5.4,3.4,1.7,0.2,setosa\n" + > "5.1,3.7,1.5,0.4,setosa\n" + > "4.6,3.6,1,0.2,setosa\n" + > "5.1,3.3,1.7,0.5,setosa\n" + > "4.8,3.4,1.9,0.2,setosa\n" + > "5,3,1.6,0.2,setosa\n" + > "5,3.4,1.6,0.4,setosa\n" + > "5.2,3.5,1.5,0.2,setosa\n" + > "5.2,3.4,1.4,0.2,setosa\n" + > "4.7,3.2,1.6,0.2,setosa\n" + > "4.8,3.1,1.6,0.2,setosa\n" + > "5.4,3.4,1.5,0.4,setosa\n" + > "5.2,4.1,1.5,0.1,setosa\n" + > "5.5,4.2,1.4,0.2,setosa\n" + > "4.9,3.1,1.5,0.2,setosa\n" + > "5,3.2,1.2,0.2,setosa\n" + > "5.5,3.5,1.3,0.2,setosa\n" + > "4.9,3.6,1.4,0.1,setosa\n" + > "4.4,3,1.3,0.2,setosa\n" + > "5.1,3.4,1.5,0.2,setosa\n" + > "5,3.5,1.3,0.3,setosa\n" + > "4.5,2.3,1.3,0.3,setosa\n" + > "4.4,3.2,1.3,0.2,setosa\n" + > "5,3.5,1.6,0.6,setosa\n" + > "5.1,3.8,1.9,0.4,setosa\n" + > "4.8,3,1.4,0.3,setosa\n" + > "5.1,3.8,1.6,0.2,setosa\n" + > "4.6,3.2,1.4,0.2,setosa\n" + > "5.3,3.7,1.5,0.2,setosa\n" + > "5,3.3,1.4,0.2,setosa\n" + > "7,3.2,4.7,1.4,versicolor\n" + > "6.4,3.2,4.5,1.5,versicolor\n" + > "6.9,3.1,4.9,1.5,versicolor\n" + > "5.5,2.3,4,1.3,versicolor\n" + > "6.5,2.8,4.6,1.5,versicolor\n" + > "5.7,2.8,4.5,1.3,versicolor\n" + > "6.3,3.3,4.7,1.6,versicolor\n" + > "4.9,2.4,3.3,1,versicolor\n" + > "6.6,2.9,4.6,1.3,versicolor\n" + > "5.2,2.7,3.9,1.4,versicolor\n" + > "5,2,3.5,1,versicolor\n" + > "5.9,3,4.2,1.5,versicolor\n" + > "6,2.2,4,1,versicolor\n" + > "6.1,2.9,4.7,1.4,versicolor\n" + > "5.6,2.9,3.6,1.3,versicolor\n" + > "6.7,3.1,4.4,1.4,versicolor\n" + > "5.6,3,4.5,1.5,versicolor\n" + > "5.8,2.7,4.1,1,versicolor\n" + > "6.2,2.2,4.5,1.5,versicolor\n" + > "5.6,2.5,3.9,1.1,versicolor\n" + > "5.9,3.2,4.8,1.8,versicolor\n" + > "6.1,2.8,4,1.3,versicolor\n" + > "6.3,2.5,4.9,1.5,versicolor\n" + > "6.1,2.8,4.7,1.2,versicolor\n" + > "6.4,2.9,4.3,1.3,versicolor\n" + > "6.6,3,4.4,1.4,versicolor\n" + > "6.8,2.8,4.8,1.4,versicolor\n" + > "6.7,3,5,1.7,versicolor\n" + > "6,2.9,4.5,1.5,versicolor\n" + > "5.7,2.6,3.5,1,versicolor\n" + > "5.5,2.4,3.8,1.1,versicolor\n" + > "5.5,2.4,3.7,1,versicolor\n" + > "5.8,2.7,3.9,1.2,versicolor\n" + > "6,2.7,5.1,1.6,versicolor\n" + > "5.4,3,4.5,1.5,versicolor\n" + > "6,3.4,4.5,1.6,versicolor\n" + > "6.7,3.1,4.7,1.5,versicolor\n" + > "6.3,2.3,4.4,1.3,versicolor\n" + > "5.6,3,4.1,1.3,versicolor\n" + > "5.5,2.5,4,1.3,versicolor\n" + > "5.5,2.6,4.4,1.2,versicolor\n" + > "6.1,3,4.6,1.4,versicolor\n" + > "5.8,2.6,4,1.2,versicolor\n" + > "5,2.3,3.3,1,versicolor\n" + > "5.6,2.7,4.2,1.3,versicolor\n" + > "5.7,3,4.2,1.2,versicolor\n" + > "5.7,2.9,4.2,1.3,versicolor\n" + > "6.2,2.9,4.3,1.3,versicolor\n" + > "5.1,2.5,3,1.1,versicolor\n" + > "5.7,2.8,4.1,1.3,versicolor\n" + > "6.3,3.3,6,2.5,virginica\n" + > "5.8,2.7,5.1,1.9,virginica\n" + > "7.1,3,5.9,2.1,virginica\n" + > "6.3,2.9,5.6,1.8,virginica\n" + > "6.5,3,5.8,2.2,virginica\n" + > "7.6,3,6.6,2.1,virginica\n" + > "4.9,2.5,4.5,1.7,virginica\n" + > "7.3,2.9,6.3,1.8,virginica\n" + > "6.7,2.5,5.8,1.8,virginica\n" + > "7.2,3.6,6.1,2.5,virginica\n" + > "6.5,3.2,5.1,2,virginica\n" + > "6.4,2.7,5.3,1.9,virginica\n" + > "6.8,3,5.5,2.1,virginica\n" + > "5.7,2.5,5,2,virginica\n" + > "5.8,2.8,5.1,2.4,virginica\n" + > "6.4,3.2,5.3,2.3,virginica\n" + > "6.5,3,5.5,1.8,virginica\n" + > "7.7,3.8,6.7,2.2,virginica\n" + > "7.7,2.6,6.9,2.3,virginica\n" + > "6,2.2,5,1.5,virginica\n" + > "6.9,3.2,5.7,2.3,virginica\n" + > "5.6,2.8,4.9,2,virginica\n" + > "7.7,2.8,6.7,2,virginica\n" + > "6.3,2.7,4.9,1.8,virginica\n" + > "6.7,3.3,5.7,2.1,virginica\n" + > "7.2,3.2,6,1.8,virginica\n" + > "6.2,2.8,4.8,1.8,virginica\n" + > "6.1,3,4.9,1.8,virginica\n" + > "6.4,2.8,5.6,2.1,virginica\n" + > "7.2,3,5.8,1.6,virginica\n" + > "7.4,2.8,6.1,1.9,virginica\n" + > "7.9,3.8,6.4,2,virginica\n" + > "6.4,2.8,5.6,2.2,virginica\n" + > "6.3,2.8,5.1,1.5,virginica\n" + > "6.1,2.6,5.6,1.4,virginica\n" + > "7.7,3,6.1,2.3,virginica\n" + > "6.3,3.4,5.6,2.4,virginica\n" + > "6.4,3.1,5.5,1.8,virginica\n" + > "6,3,4.8,1.8,virginica\n" + > "6.9,3.1,5.4,2.1,virginica\n" + > "6.7,3.1,5.6,2.4,virginica\n" + > "6.9,3.1,5.1,2.3,virginica\n" + > "5.8,2.7,5.1,1.9,virginica\n" + > "6.8,3.2,5.9,2.3,virginica\n" + > "6.7,3.3,5.7,2.5,virginica\n" + > "6.7,3,5.2,2.3,virginica\n" + > "6.3,2.5,5,1.9,virginica\n" + > "6.5,3,5.2,2,virginica\n" + > "6.2,3.4,5.4,2.3,virginica\n" + > "5.9,3,5.1,1.8,virginica\n"; > > List tableRead = rConnection.eval( > "read.csv(textConnection(\"" + inputIris + "\"), header = FALSE)").asList(); // works! > > double[] d1 = ((REXPVector) ((RList) tableRead).get(0)).asDoubles(); > double[] d2 = ((REXPVector) ((RList) tableRead).get(1)).asDoubles(); > double[] d3 = ((REXPVector) ((RList) tableRead).get(2)).asDoubles(); > double[] d4 = ((REXPVector) ((RList) tableRead).get(3)).asDoubles(); > String[] d5 = ((REXPVector) ((RList) tableRead).get(4)).asStrings(); > > // create data frame with data.REXP myDf = REXP.createDataFrame(new RList( > new REXP[] > { > new REXPDouble(d1), > new REXPDouble(d2), > new REXPDouble(d3), > new REXPDouble(d4), > new REXPString(d5) > })); > > // assign the data to a variable as was suggested.rConnection.assign("boxMVariable", myDf); > > // create a string command with that variable name.String boxVariable = "boxM(boxMVariable [,-5], boxMVariable[,5]"; > > // try to execute the command... > // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< > > sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >
Hi Bill, Thanks for catching that. However, the problem remains. If I use R debugging code with the rResponseObject below, I get a maybe better error, but it still doesn't make sense. This is the actual error R is throwing: Error in `[.data.frame`(boxMVariable, , -5) : undefined columns selected Does this error make sense? Please reply. :) Thanks in advance. --------------- <R Debugging code, one line substituted from earlier posting> REXP rResponseObject = rConnection.parseAndEval("try(eval(" + boxVariable+ "),silent=TRUE)"); if (rResponseObject.inherits("try-error")) { System.out.println("R Serve Eval Exception : " + rResponseObject.asString()); } Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email.> -------- Original Message -------- > Subject: Re: [Rd] Cannot Compute Box's M (Three Days Trying...) > Local Time: October 27, 2017 4:00 PM > UTC Time: October 27, 2017 8:00 PM > From: wdunlap at tibco.com > To: Morkus <morkus at protonmail.com> > r-devel at r-project.org <r-devel at r-project.org> > > Does it work if you supply the closing parenthesis on the call to boxM? The parser says the input is incomplete and a missing closing parenthesis would cause that error.. > > // create a string command with that variable name.String boxVariable = "boxM(boxMVariable [,-5], boxMVariable[,5]"; > > // try to execute the command... > // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< > > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > On Fri, Oct 27, 2017 at 12:41 PM, Morkus via R-devel <r-devel at r-project.org> wrote: > >> It can't be this hard, right? I really need a shove in the right direction here. Been spinning wheels for three days. Cannot get past the errors. >> >> I'm doing something wrong, obviously, since I can easily compute the Box's M right there in RStudio >> >> But I don't see what is wrong below with the coding equivalent. >> >> The entire code snippet is below. The code fails below on the call to the boxM statistic call. >> >> PLEASE HELP!!! >> >> Thanks in advance, >> >> ------------------------- >> >> rConnection.eval("library('biotools')"); >> >> 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\n" + >> "5,3.4,1.5,0.2,setosa\n" + >> "4.4,2.9,1.4,0.2,setosa\n" + >> "4.9,3.1,1.5,0.1,setosa\n" + >> "5.4,3.7,1.5,0.2,setosa\n" + >> "4.8,3.4,1.6,0.2,setosa\n" + >> "4.8,3,1.4,0.1,setosa\n" + >> "4.3,3,1.1,0.1,setosa\n" + >> "5.8,4,1.2,0.2,setosa\n" + >> "5.7,4.4,1.5,0.4,setosa\n" + >> "5.4,3.9,1.3,0.4,setosa\n" + >> "5.1,3.5,1.4,0.3,setosa\n" + >> "5.7,3.8,1.7,0.3,setosa\n" + >> "5.1,3.8,1.5,0.3,setosa\n" + >> "5.4,3.4,1.7,0.2,setosa\n" + >> "5.1,3.7,1.5,0.4,setosa\n" + >> "4.6,3.6,1,0.2,setosa\n" + >> "5.1,3.3,1.7,0.5,setosa\n" + >> "4.8,3.4,1.9,0.2,setosa\n" + >> "5,3,1.6,0.2,setosa\n" + >> "5,3.4,1.6,0.4,setosa\n" + >> "5.2,3.5,1.5,0.2,setosa\n" + >> "5.2,3.4,1.4,0.2,setosa\n" + >> "4.7,3.2,1.6,0.2,setosa\n" + >> "4.8,3.1,1.6,0.2,setosa\n" + >> "5.4,3.4,1.5,0.4,setosa\n" + >> "5.2,4.1,1.5,0.1,setosa\n" + >> "5.5,4.2,1.4,0.2,setosa\n" + >> "4.9,3.1,1.5,0.2,setosa\n" + >> "5,3.2,1.2,0.2,setosa\n" + >> "5.5,3.5,1.3,0.2,setosa\n" + >> "4.9,3.6,1.4,0.1,setosa\n" + >> "4.4,3,1.3,0.2,setosa\n" + >> "5.1,3.4,1.5,0.2,setosa\n" + >> "5,3.5,1.3,0.3,setosa\n" + >> "4.5,2.3,1.3,0.3,setosa\n" + >> "4.4,3.2,1.3,0.2,setosa\n" + >> "5,3.5,1.6,0.6,setosa\n" + >> "5.1,3.8,1.9,0.4,setosa\n" + >> "4.8,3,1.4,0.3,setosa\n" + >> "5.1,3.8,1.6,0.2,setosa\n" + >> "4.6,3.2,1.4,0.2,setosa\n" + >> "5.3,3.7,1.5,0.2,setosa\n" + >> "5,3.3,1.4,0.2,setosa\n" + >> "7,3.2,4.7,1.4,versicolor\n" + >> "6.4,3.2,4.5,1.5,versicolor\n" + >> "6.9,3.1,4.9,1.5,versicolor\n" + >> "5.5,2.3,4,1.3,versicolor\n" + >> "6.5,2.8,4.6,1.5,versicolor\n" + >> "5.7,2.8,4.5,1.3,versicolor\n" + >> "6.3,3.3,4.7,1.6,versicolor\n" + >> "4.9,2.4,3.3,1,versicolor\n" + >> "6.6,2.9,4.6,1.3,versicolor\n" + >> "5.2,2.7,3.9,1.4,versicolor\n" + >> "5,2,3.5,1,versicolor\n" + >> "5.9,3,4.2,1.5,versicolor\n" + >> "6,2.2,4,1,versicolor\n" + >> "6.1,2.9,4.7,1.4,versicolor\n" + >> "5.6,2.9,3.6,1.3,versicolor\n" + >> "6.7,3.1,4.4,1.4,versicolor\n" + >> "5.6,3,4.5,1.5,versicolor\n" + >> "5.8,2.7,4.1,1,versicolor\n" + >> "6.2,2.2,4.5,1.5,versicolor\n" + >> "5.6,2.5,3.9,1.1,versicolor\n" + >> "5.9,3.2,4.8,1.8,versicolor\n" + >> "6.1,2.8,4,1.3,versicolor\n" + >> "6.3,2.5,4.9,1.5,versicolor\n" + >> "6.1,2.8,4.7,1.2,versicolor\n" + >> "6.4,2.9,4.3,1.3,versicolor\n" + >> "6.6,3,4.4,1.4,versicolor\n" + >> "6.8,2.8,4.8,1.4,versicolor\n" + >> "6.7,3,5,1.7,versicolor\n" + >> "6,2.9,4.5,1.5,versicolor\n" + >> "5.7,2.6,3.5,1,versicolor\n" + >> "5.5,2.4,3.8,1.1,versicolor\n" + >> "5.5,2.4,3.7,1,versicolor\n" + >> "5.8,2.7,3.9,1.2,versicolor\n" + >> "6,2.7,5.1,1.6,versicolor\n" + >> "5.4,3,4.5,1.5,versicolor\n" + >> "6,3.4,4.5,1.6,versicolor\n" + >> "6.7,3.1,4.7,1.5,versicolor\n" + >> "6.3,2.3,4.4,1.3,versicolor\n" + >> "5.6,3,4.1,1.3,versicolor\n" + >> "5.5,2.5,4,1.3,versicolor\n" + >> "5.5,2.6,4.4,1.2,versicolor\n" + >> "6.1,3,4.6,1.4,versicolor\n" + >> "5.8,2.6,4,1.2,versicolor\n" + >> "5,2.3,3.3,1,versicolor\n" + >> "5.6,2.7,4.2,1.3,versicolor\n" + >> "5.7,3,4.2,1.2,versicolor\n" + >> "5.7,2.9,4.2,1.3,versicolor\n" + >> "6.2,2.9,4.3,1.3,versicolor\n" + >> "5.1,2.5,3,1.1,versicolor\n" + >> "5.7,2.8,4.1,1.3,versicolor\n" + >> "6.3,3.3,6,2.5,virginica\n" + >> "5.8,2.7,5.1,1.9,virginica\n" + >> "7.1,3,5.9,2.1,virginica\n" + >> "6.3,2.9,5.6,1.8,virginica\n" + >> "6.5,3,5.8,2.2,virginica\n" + >> "7.6,3,6.6,2.1,virginica\n" + >> "4.9,2.5,4.5,1.7,virginica\n" + >> "7.3,2.9,6.3,1.8,virginica\n" + >> "6.7,2.5,5.8,1.8,virginica\n" + >> "7.2,3.6,6.1,2.5,virginica\n" + >> "6.5,3.2,5.1,2,virginica\n" + >> "6.4,2.7,5.3,1.9,virginica\n" + >> "6.8,3,5.5,2.1,virginica\n" + >> "5.7,2.5,5,2,virginica\n" + >> "5.8,2.8,5.1,2.4,virginica\n" + >> "6.4,3.2,5.3,2.3,virginica\n" + >> "6.5,3,5.5,1.8,virginica\n" + >> "7.7,3.8,6.7,2.2,virginica\n" + >> "7.7,2.6,6.9,2.3,virginica\n" + >> "6,2.2,5,1.5,virginica\n" + >> "6.9,3.2,5.7,2.3,virginica\n" + >> "5.6,2.8,4.9,2,virginica\n" + >> "7.7,2.8,6.7,2,virginica\n" + >> "6.3,2.7,4.9,1.8,virginica\n" + >> "6.7,3.3,5.7,2.1,virginica\n" + >> "7.2,3.2,6,1.8,virginica\n" + >> "6.2,2.8,4.8,1.8,virginica\n" + >> "6.1,3,4.9,1.8,virginica\n" + >> "6.4,2.8,5.6,2.1,virginica\n" + >> "7.2,3,5.8,1.6,virginica\n" + >> "7.4,2.8,6.1,1.9,virginica\n" + >> "7.9,3.8,6.4,2,virginica\n" + >> "6.4,2.8,5.6,2.2,virginica\n" + >> "6.3,2.8,5.1,1.5,virginica\n" + >> "6.1,2.6,5.6,1.4,virginica\n" + >> "7.7,3,6.1,2.3,virginica\n" + >> "6.3,3.4,5.6,2.4,virginica\n" + >> "6.4,3.1,5.5,1.8,virginica\n" + >> "6,3,4.8,1.8,virginica\n" + >> "6.9,3.1,5.4,2.1,virginica\n" + >> "6.7,3.1,5.6,2.4,virginica\n" + >> "6.9,3.1,5.1,2.3,virginica\n" + >> "5.8,2.7,5.1,1.9,virginica\n" + >> "6.8,3.2,5.9,2.3,virginica\n" + >> "6.7,3.3,5.7,2.5,virginica\n" + >> "6.7,3,5.2,2.3,virginica\n" + >> "6.3,2.5,5,1.9,virginica\n" + >> "6.5,3,5.2,2,virginica\n" + >> "6.2,3.4,5.4,2.3,virginica\n" + >> "5.9,3,5.1,1.8,virginica\n"; >> >> List tableRead = rConnection.eval( >> "read.csv(textConnection(\"" + inputIris + "\"), header = FALSE)").asList(); // works! >> >> double[] d1 = ((REXPVector) ((RList) tableRead).get(0)).asDoubles(); >> double[] d2 = ((REXPVector) ((RList) tableRead).get(1)).asDoubles(); >> double[] d3 = ((REXPVector) ((RList) tableRead).get(2)).asDoubles(); >> double[] d4 = ((REXPVector) ((RList) tableRead).get(3)).asDoubles(); >> String[] d5 = ((REXPVector) ((RList) tableRead).get(4)).asStrings(); >> >> // create data frame with data.REXP myDf = REXP.createDataFrame(new RList( >> new REXP[] >> { >> new REXPDouble(d1), >> new REXPDouble(d2), >> new REXPDouble(d3), >> new REXPDouble(d4), >> new REXPString(d5) >> })); >> >> // assign the data to a variable as was suggested.rConnection.assign("boxMVariable", myDf); >> >> // create a string command with that variable name.String boxVariable = "boxM(boxMVariable [,-5], boxMVariable[,5]"; >> >> // try to execute the command... >> // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< >> >> sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel[[alternative HTML version deleted]]
I'm not sure what you mean. Could you please be more specific? If I print the string, I get: boxM(boxMVariable[, -5], boxMVariable[, 5]) From this code: . . . // assign the data to a variable.rConnection.assign("boxMVariable", myDf); // create a string command with that variable name.String boxVariable = "boxM(boxMVariable[, -5], boxMVariable[, 5])"; System.out.println(boxVariable); // print the string? Not sure what is meant. Sorry if I didn't understand your suggestion. Look forward to hearing back from you. Thanks, Sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email.> -------- Original Message -------- > Subject: Re: [Rd] Cannot Compute Box's M (Three Days Trying...) > Local Time: October 27, 2017 6:09 PM > UTC Time: October 27, 2017 10:09 PM > From: murdoch.duncan at gmail.com > To: Morkus <morkus at protonmail.com>, r-devel at r-project.org <r-devel at r-project.org> > > Just print the string you are asking to R to evaluate. It doesn't make > any sense as an R expression. Fix that, and things will work. > > Duncan Murdoch > > On 27/10/2017 3:41 PM, Morkus via R-devel wrote: > >> It can't be this hard, right? I really need a shove in the right direction here. Been spinning wheels for three days. Cannot get past the errors. >> I'm doing something wrong, obviously, since I can easily compute the Box's M right there in RStudio >> But I don't see what is wrong below with the coding equivalent. >> The entire code snippet is below. The code fails below on the call to the boxM statistic call. >> PLEASE HELP!!! >> Thanks in advance, >> --------------------------------------------------------------- >> >> rConnection.eval("library('biotools')"); >> 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\n" + >> "5,3.4,1.5,0.2,setosa\n" + >> "4.4,2.9,1.4,0.2,setosa\n" + >> "4.9,3.1,1.5,0.1,setosa\n" + >> "5.4,3.7,1.5,0.2,setosa\n" + >> "4.8,3.4,1.6,0.2,setosa\n" + >> "4.8,3,1.4,0.1,setosa\n" + >> "4.3,3,1.1,0.1,setosa\n" + >> "5.8,4,1.2,0.2,setosa\n" + >> "5.7,4.4,1.5,0.4,setosa\n" + >> "5.4,3.9,1.3,0.4,setosa\n" + >> "5.1,3.5,1.4,0.3,setosa\n" + >> "5.7,3.8,1.7,0.3,setosa\n" + >> "5.1,3.8,1.5,0.3,setosa\n" + >> "5.4,3.4,1.7,0.2,setosa\n" + >> "5.1,3.7,1.5,0.4,setosa\n" + >> "4.6,3.6,1,0.2,setosa\n" + >> "5.1,3.3,1.7,0.5,setosa\n" + >> "4.8,3.4,1.9,0.2,setosa\n" + >> "5,3,1.6,0.2,setosa\n" + >> "5,3.4,1.6,0.4,setosa\n" + >> "5.2,3.5,1.5,0.2,setosa\n" + >> "5.2,3.4,1.4,0.2,setosa\n" + >> "4.7,3.2,1.6,0.2,setosa\n" + >> "4.8,3.1,1.6,0.2,setosa\n" + >> "5.4,3.4,1.5,0.4,setosa\n" + >> "5.2,4.1,1.5,0.1,setosa\n" + >> "5.5,4.2,1.4,0.2,setosa\n" + >> "4.9,3.1,1.5,0.2,setosa\n" + >> "5,3.2,1.2,0.2,setosa\n" + >> "5.5,3.5,1.3,0.2,setosa\n" + >> "4.9,3.6,1.4,0.1,setosa\n" + >> "4.4,3,1.3,0.2,setosa\n" + >> "5.1,3.4,1.5,0.2,setosa\n" + >> "5,3.5,1.3,0.3,setosa\n" + >> "4.5,2.3,1.3,0.3,setosa\n" + >> "4.4,3.2,1.3,0.2,setosa\n" + >> "5,3.5,1.6,0.6,setosa\n" + >> "5.1,3.8,1.9,0.4,setosa\n" + >> "4.8,3,1.4,0.3,setosa\n" + >> "5.1,3.8,1.6,0.2,setosa\n" + >> "4.6,3.2,1.4,0.2,setosa\n" + >> "5.3,3.7,1.5,0.2,setosa\n" + >> "5,3.3,1.4,0.2,setosa\n" + >> "7,3.2,4.7,1.4,versicolor\n" + >> "6.4,3.2,4.5,1.5,versicolor\n" + >> "6.9,3.1,4.9,1.5,versicolor\n" + >> "5.5,2.3,4,1.3,versicolor\n" + >> "6.5,2.8,4.6,1.5,versicolor\n" + >> "5.7,2.8,4.5,1.3,versicolor\n" + >> "6.3,3.3,4.7,1.6,versicolor\n" + >> "4.9,2.4,3.3,1,versicolor\n" + >> "6.6,2.9,4.6,1.3,versicolor\n" + >> "5.2,2.7,3.9,1.4,versicolor\n" + >> "5,2,3.5,1,versicolor\n" + >> "5.9,3,4.2,1.5,versicolor\n" + >> "6,2.2,4,1,versicolor\n" + >> "6.1,2.9,4.7,1.4,versicolor\n" + >> "5.6,2.9,3.6,1.3,versicolor\n" + >> "6.7,3.1,4.4,1.4,versicolor\n" + >> "5.6,3,4.5,1.5,versicolor\n" + >> "5.8,2.7,4.1,1,versicolor\n" + >> "6.2,2.2,4.5,1.5,versicolor\n" + >> "5.6,2.5,3.9,1.1,versicolor\n" + >> "5.9,3.2,4.8,1.8,versicolor\n" + >> "6.1,2.8,4,1.3,versicolor\n" + >> "6.3,2.5,4.9,1.5,versicolor\n" + >> "6.1,2.8,4.7,1.2,versicolor\n" + >> "6.4,2.9,4.3,1.3,versicolor\n" + >> "6.6,3,4.4,1.4,versicolor\n" + >> "6.8,2.8,4.8,1.4,versicolor\n" + >> "6.7,3,5,1.7,versicolor\n" + >> "6,2.9,4.5,1.5,versicolor\n" + >> "5.7,2.6,3.5,1,versicolor\n" + >> "5.5,2.4,3.8,1.1,versicolor\n" + >> "5.5,2.4,3.7,1,versicolor\n" + >> "5.8,2.7,3.9,1.2,versicolor\n" + >> "6,2.7,5.1,1.6,versicolor\n" + >> "5.4,3,4.5,1.5,versicolor\n" + >> "6,3.4,4.5,1.6,versicolor\n" + >> "6.7,3.1,4.7,1.5,versicolor\n" + >> "6.3,2.3,4.4,1.3,versicolor\n" + >> "5.6,3,4.1,1.3,versicolor\n" + >> "5.5,2.5,4,1.3,versicolor\n" + >> "5.5,2.6,4.4,1.2,versicolor\n" + >> "6.1,3,4.6,1.4,versicolor\n" + >> "5.8,2.6,4,1.2,versicolor\n" + >> "5,2.3,3.3,1,versicolor\n" + >> "5.6,2.7,4.2,1.3,versicolor\n" + >> "5.7,3,4.2,1.2,versicolor\n" + >> "5.7,2.9,4.2,1.3,versicolor\n" + >> "6.2,2.9,4.3,1.3,versicolor\n" + >> "5.1,2.5,3,1.1,versicolor\n" + >> "5.7,2.8,4.1,1.3,versicolor\n" + >> "6.3,3.3,6,2.5,virginica\n" + >> "5.8,2.7,5.1,1.9,virginica\n" + >> "7.1,3,5.9,2.1,virginica\n" + >> "6.3,2.9,5.6,1.8,virginica\n" + >> "6.5,3,5.8,2.2,virginica\n" + >> "7.6,3,6.6,2.1,virginica\n" + >> "4.9,2.5,4.5,1.7,virginica\n" + >> "7.3,2.9,6.3,1.8,virginica\n" + >> "6.7,2.5,5.8,1.8,virginica\n" + >> "7.2,3.6,6.1,2.5,virginica\n" + >> "6.5,3.2,5.1,2,virginica\n" + >> "6.4,2.7,5.3,1.9,virginica\n" + >> "6.8,3,5.5,2.1,virginica\n" + >> "5.7,2.5,5,2,virginica\n" + >> "5.8,2.8,5.1,2.4,virginica\n" + >> "6.4,3.2,5.3,2.3,virginica\n" + >> "6.5,3,5.5,1.8,virginica\n" + >> "7.7,3.8,6.7,2.2,virginica\n" + >> "7.7,2.6,6.9,2.3,virginica\n" + >> "6,2.2,5,1.5,virginica\n" + >> "6.9,3.2,5.7,2.3,virginica\n" + >> "5.6,2.8,4.9,2,virginica\n" + >> "7.7,2.8,6.7,2,virginica\n" + >> "6.3,2.7,4.9,1.8,virginica\n" + >> "6.7,3.3,5.7,2.1,virginica\n" + >> "7.2,3.2,6,1.8,virginica\n" + >> "6.2,2.8,4.8,1.8,virginica\n" + >> "6.1,3,4.9,1.8,virginica\n" + >> "6.4,2.8,5.6,2.1,virginica\n" + >> "7.2,3,5.8,1.6,virginica\n" + >> "7.4,2.8,6.1,1.9,virginica\n" + >> "7.9,3.8,6.4,2,virginica\n" + >> "6.4,2.8,5.6,2.2,virginica\n" + >> "6.3,2.8,5.1,1.5,virginica\n" + >> "6.1,2.6,5.6,1.4,virginica\n" + >> "7.7,3,6.1,2.3,virginica\n" + >> "6.3,3.4,5.6,2.4,virginica\n" + >> "6.4,3.1,5.5,1.8,virginica\n" + >> "6,3,4.8,1.8,virginica\n" + >> "6.9,3.1,5.4,2.1,virginica\n" + >> "6.7,3.1,5.6,2.4,virginica\n" + >> "6.9,3.1,5.1,2.3,virginica\n" + >> "5.8,2.7,5.1,1.9,virginica\n" + >> "6.8,3.2,5.9,2.3,virginica\n" + >> "6.7,3.3,5.7,2.5,virginica\n" + >> "6.7,3,5.2,2.3,virginica\n" + >> "6.3,2.5,5,1.9,virginica\n" + >> "6.5,3,5.2,2,virginica\n" + >> "6.2,3.4,5.4,2.3,virginica\n" + >> "5.9,3,5.1,1.8,virginica\n"; >> List tableRead = rConnection.eval( >> "read.csv(textConnection("" + inputIris + ""), header = FALSE)").asList(); // works! >> double[] d1 = ((REXPVector) ((RList) tableRead).get(0)).asDoubles(); >> double[] d2 = ((REXPVector) ((RList) tableRead).get(1)).asDoubles(); >> double[] d3 = ((REXPVector) ((RList) tableRead).get(2)).asDoubles(); >> double[] d4 = ((REXPVector) ((RList) tableRead).get(3)).asDoubles(); >> String[] d5 = ((REXPVector) ((RList) tableRead).get(4)).asStrings(); >> // create data frame with data.REXP myDf = REXP.createDataFrame(new RList( >> new REXP[] >> { >> new REXPDouble(d1), >> new REXPDouble(d2), >> new REXPDouble(d3), >> new REXPDouble(d4), >> new REXPString(d5) >> })); >> // assign the data to a variable as was suggested.rConnection.assign("boxMVariable", myDf); >> // create a string command with that variable name.String boxVariable = "boxM(boxMVariable [,-5], boxMVariable[,5]"; >> // try to execute the command... >> // FAILS with org.rosuda.REngine.Rserve.RserveException: eval failed, request status: R parser: input incomplete>>>> FAILS ! >>>> REXP theBoxMResult = rConnection.eval(boxVariable); <<<< FAILS <<<<< >> sent from [ProtonMail](https://protonmail.com), Swiss-based encrypted email. >> [[alternative HTML version deleted]] >> --------------------------------------------------------------- >> >> R-devel at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel[[alternative HTML version deleted]]