On 23 Nov 2006 18:20:17 +0100, Peter Dalgaard <[EMAIL PROTECTED]> wrote: > > I am trying to convert from the type "expression" to the type > > "numeric". The following works: > > > > > x <- expression(6.2) > > > as.numeric(as.character(x)) > > [1] 6.2 > > > > However, the following does not work: > > > > > x <- expression(62/100) > > > as.numeric(as.character(x)) > > [1] NA > > Warning message: > > NAs introduced by coercion > > > > Any idea about how to deal with the second case? > > Well, you could start by watching where you are going... > > > x <- expression(62/100) > > x > expression(62/100) > > as.character(x) > [1] "62/100" > > and as.numeric wouldn't know dashes about strings that contain > slashes... > > eval(x) might be closer to the mark.
Thanks, Peter. I did not know about the existence of the command 'eval', in spite of the fact of having searched the Internet for a solution for my problem. 'eval' seems not working in connection with Ryacas: > library(Ryacas) > x <- yacas("2/3*5/7") > x expression(10/21) > eval(x) expression(10/21) > To work, one has to do the following: > eval(x) expression(10/21) > eval(as.expression(x)) [1] 0.4761905 Paul ______________________________________________ R-help@stat.math.ethz.ch 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.