mel at mcs.st-and.ac.uk
Wed Jul 24 19:22:23 CEST 2002
I apologise for my imprecision. I think I do understand what is going on
with as.numeric("3/2"), but am less clear as to the reasons for it to have
If I may rephrase my question:
as.numeric("3") returns 3 and as.numeric(3/2) gives 1.5. Would it be very
stupid of me to modify as.numeric to make it also evaluate text strings that
do not contain any variable names ( as.numeric("3/2") would then give 1.5
and as.numeric("2+3") 5 but as.numeric("p") would remain NA) ?
Or is there already a function that has this effect? I guess it would be
safer to make a new function rather than overwriting, but do find that when
testing things I seem to end up using improper fractions. (I was wanting to
collect a set of parameters with match.call(), but using eval(parse()) to
deal with my fractions ended up also attempting to evaluate the characters
of non-numeric parameters - eg type="p"; eval(parse(text=type)) looks for
the value of a variable called p. Maybe it would just be easier to learn to
Thanks again for the advice,
> -----Original Message-----
> From: Yuelin Li [mailto:yuelin at pandora.outcomes.chop.edu]
> Sent: 24 July 2002 15:18
> To: mel at mcs.st-and.ac.uk
> Subject: Re: [R] as.numeric
> because "3/2" is not converted to a mathematical expression
> unless parsed.
> Why is as.numeric("3/2") NA plus a warning?
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
More information about the R-help