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.