// Investigate use of the Defer method. Deprecated? private static string DeferedStatementRepro(REngine engine) { // Looking at the issues reported in https://rdotnet.codeplex.com/discussions/458547 // indeed the R.NET documentation page as of 22 Sept 2013 is off as to what Defer method there is. // The following memory stream is a workaround out of curiosity: not something intended for ongoing use. // With the memory stream workaround, it bombs. // Not sure whether this is because of the conversion to byte, but unlikely to be a false positive. string deferedStatement = "x <- 3"; var byteArr = Array.ConvertAll(deferedStatement.ToArray(), c => Convert.ToByte(c)); using (var stream = new MemoryStream(byteArr)) { // Defer method delays an effect on the R environment. var e = engine.Defer(stream); // Error: GetSymbol method returns null at the moment. // NumericVector x = engine.GetSymbol("x").AsNumeric(); // Evaluates the statement. e.ToArray(); } return(deferedStatement); }