Re: [R] Convert character string to number

From: Kenn Konstabel <lebatsnok_at_gmail.com>
Date: Sat, 21 Jun 2008 13:05:29 +0300

another way to do it is using eval and parse:

yyy<-numeric()
for(i in 1:length(xxx)) yyy[i] <- eval(parse(text=xxx[i]))

or ...

unlist(lapply(as.list(xxx), function(x) eval(parse(text=x))))

then xxx can contain any valid expressions (not necessarily fractions)

Kenn

On Sat, Jun 21, 2008 at 12:44 PM, Hans-Jörg Bibiko <bibiko_at_eva.mpg.de> 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) )
>
> --Hans
>
>
> ______________________________________________
> 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.
>

        [[alternative HTML version deleted]]



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. Received on Sat 21 Jun 2008 - 10:11:48 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 21 Jun 2008 - 12:30:57 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive