[R] String manipulation and formatting

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Jul 18 10:24:12 CEST 2006


On Tue, 18 Jul 2006, Bashir Saghir (Aztek Global) wrote:

> Thanks to Richard, Gabor and Marc for some nice solutions to my request.
> 
> I have a new problem:
> 
>   > xify(30.10)
>   [1] "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X"
>   > xify(30.11)
>   [1] "XXXXXXXXXXXXXXXXXXX.XXXXXXXXXXX"
> 
> The problem originates from:
> 
>   > as.numeric(unlist(strsplit(as.character(15.10), "\\.")))
>   [1] 15  1
>   > as.numeric(unlist(strsplit(as.character(15.11), "\\.")))
>   [1] 15 11
> 
> It seems to boils down to:
> 
>   > as.character(15.10)
>   [1] "15.1"
> 
> A simple solution is:
> 
>   > xify("15.10")
>   [1] "XXXXX.XXXXXXXXXX"
> 
> I was wondering if there is a simple way for xify to see the zero of the 10
> without having to force the user to add quotes around the format?

No, as the parser has converted '15.10' to a numeric constant.

What is the problem with asking users to enter strings as strings?

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list