Dear all, I am confused about how to create an expression. I use a package (rsbml) which uses expressions and seems to make a difference if there is a quote around the expression or not. For example, package works with expressions such as> expression(A + B)but not with> expression("A + B")I now have a set of math expressions represented as strings, something like this:> rhs_eq<- c("0", "A + B", "B * (2+C)")and want to make expressions without quotes out of it. I tried> lapply(lapply(rhs_eq, as.symbol), as.expression)which only turns the double quotes into single quotes, but does not remove the quotes. I also played around with as.formula, as.name, quote and enquote, but had no success. Does anyone know about quotes in the expression data type? Thanks in advance, Hannes -- View this message in context: http://r.789695.n4.nabble.com/single-double-or-no-quotes-in-expression-tp4475247p4475247.html Sent from the R help mailing list archive at Nabble.com.
Hi, You don't provide a reproducible example, but I suspect what you need is parse():> parse(text = "A + B")expression(A + B) Sarah On Thu, Mar 15, 2012 at 10:55 AM, capy_bara <hettling at few.vu.nl> wrote:> Dear all, > > I am confused about how to create an expression. I use a package (rsbml) > which uses expressions and seems to make a difference if there is a quote > around the expression or not. > > For example, package works with expressions such as >> expression(A + B) > but not with >> expression("A + B") > > I now have a set of math expressions represented as strings, something like > this: >> rhs_eq<- c("0", "A + B", "B * (2+C)") > and want to make expressions without quotes out of it. > > I tried >> lapply(lapply(rhs_eq, as.symbol), as.expression) > which only turns the double quotes into single quotes, but does not remove > the quotes. > I also played around with as.formula, as.name, quote and enquote, but had no > success. > > Does anyone know about quotes in the expression data type? > > Thanks in advance, > > Hannes > >-- Sarah Goslee http://www.functionaldiversity.org
On Mar 15, 2012, at 10:55 AM, capy_bara wrote:> Dear all, > > I am confused about how to create an expression. I use a package > (rsbml) > which uses expressions and seems to make a difference if there is a > quote > around the expression or not. > > For example, package works with expressions such as >> expression(A + B) > but not with >> expression("A + B") > > I now have a set of math expressions represented as strings, > something like > this: >> rhs_eq<- c("0", "A + B", "B * (2+C)") > and want to make expressions without quotes out of it. > > I tried >> lapply(lapply(rhs_eq, as.symbol), as.expression) > which only turns the double quotes into single quotes, but does not > remove > the quotes. > I also played around with as.formula, as.name, quote and enquote, > but had no > success. > > Does anyone know about quotes in the expression data type?> parse(text=rhs_eq) expression(0, A + B, B * (2+C)) > parse(text=rhs_eq)[1] expression(0) > parse(text=rhs_eq)[2] expression(A + B) > parse(text=rhs_eq)[3] expression(B * (2+C))> > Thanks in advance, > > Hannes > > > -- > View this message in context: http://r.789695.n4.nabble.com/single-double-or-no-quotes-in-expression-tp4475247p4475247.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.David Winsemius, MD West Hartford, CT
Many thanks, "parse" is exactly what I was looking for!! Hannes -- View this message in context: http://r.789695.n4.nabble.com/single-double-or-no-quotes-in-expression-tp4475247p4475475.html Sent from the R help mailing list archive at Nabble.com.