Yes, in my case it would be re-learning regular expressions. Unlike riding a bicycle, this is something I have managed to forget (except for the simplest cases). I even have an old O'reilly book on the subject which I can dust off. I was thinking (hoping?) that quantmod had functions to manipulate the information returned by Yahoo but I guess that is not the case. Anyway thanks to everyone's help, I now know how to proceed.
Best, Ira On Oct 11, 2012, at 4:59 PM, Bert Gunter wrote: > Just a comment. > > On Thu, Oct 11, 2012 at 1:45 PM, Fuchs Ira <irafu...@gmail.com> wrote: >> I'm glad I asked as I would have thought that this was a common requirement >> and quantmod itself or a simple R function would have done the conversion. > > **You saved me from having to master R's sub function.** > Actually, it's not "R's sub function," it's regular expressions, which > are independent of R and used in many other languages for text > processing. They also have an interesting history in computer science. > You might wish to have a look at Wikipedia's or other source's page on > regular expressions to get some background. Depending on the nature of > your work, you may also wish to reconsider your avoidance of learning > the regular expression syntax, which is, however, a chore. > > Best, > Bert > > > > One remaining thing…when I use your snippet for AAPL, I get: >> >>> aapl=getQuote("aapl",what=yahooQF(c("Change Percent (Real-time)"))) >>> as.numeric(sub("^.* ([-+]?[[:digit:].]+)%$", "\\1", >>> as.character(aapl[[2]]))) >> [1] -2 >> >> not the -2.00 that you got. Do I have a setting that is causing it to not >> show the significant digits? >> >> Thanks. >> >> >> On Oct 11, 2012, at 4:27 PM, William Dunlap wrote: >> >>>> qs <- getQuote(c("aapl","tibx","gm","badWolf"),what=yahooQF(c("Change >>>> Percent (Real-time)"))) >>>> qs >>> Trade Time %Change (RT) >>> aapl 2012-10-11 04:00:00 N/A - -2.00% >>> tibx 2012-10-11 04:00:00 N/A - -0.85% >>> gm 2012-10-11 04:00:00 N/A - +1.77% >>> badWolf <NA> N/A - 0.00% >>>> as.numeric(sub("^.* ([-+]?[[:digit:].]+)%$", "\\1", as.character(qs[[2]]))) >>> [1] -2.00 -0.85 1.77 0.00 >>> >>> The "\\1" in the replacement argument to sub() means the >>> text matched by the first parenthesized subpattern in the pattern >>> argument. >>> >>> Bill Dunlap >>> Spotfire, TIBCO Software >>> wdunlap tibco.com >>> >>> >>>> -----Original Message----- >>>> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] >>>> On Behalf >>>> Of Fuchs Ira >>>> Sent: Thursday, October 11, 2012 12:58 PM >>>> To: r-help@r-project.org >>>> Subject: [R] simple parsing question? >>>> >>>> I am using the getQuote function in the Quantmod package to retrieve the % >>>> change for >>>> a stock as follows: >>>> >>>>> getQuote("aapl",what=yahooQF(c("Change Percent (Real-time)"))) >>>> Trade Time %Change (RT) >>>> aapl 2012-10-11 03:41:00 N/A - -1.67% >>>> >>>> How can I extract the numeric "change %" which is being returned as a >>>> factor so that I >>>> can use it in other calculations? >>>> >>>> Thanks. >>>> ______________________________________________ >>>> 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. >> >> ______________________________________________ >> 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. > > > > -- > > Bert Gunter > Genentech Nonclinical Biostatistics > > Internal Contact Info: > Phone: 467-7374 > Website: > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ 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.