Hans-Jörg Bibiko wrote:
>
> On 21.06.2008, at 01:36, Ken Liu wrote:
>> I would like to convert a character vector
>>
>> xxx <- c("1/2", "1/4")
>>
>> to
>>
>> yyy <- c(0.5, 0.25)
>>
>>
>> , but as.numeric didn't work for me.  Could anyone give me a hint
>> please?
>
> There are many many ways, and they're depending on the structure of
> xxx. If you only have such fractions you can use this naïve approach:
>
> as.numeric( gsub("(\\d+)/(\\d+)", "\\1", xxx, perl=T) ) / as.numeric(
> gsub("(\\d+)/(\\d+)", "\\2", xxx, perl=T) )

or:

library(gsubfn)
as.numeric(
    gsubfn("([0-9]+)/([0-9]+)",
    numerator+denominator~as.numeric(numerator)/as.numeric(denominator),
    xxx, backref=-2)
)

vQ

______________________________________________
R-help@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.

Reply via email to