[R] hex format

Jan T. Kim jtk at cmp.uea.ac.uk
Thu Apr 7 20:51:26 CEST 2005


On Thu, Apr 07, 2005 at 11:58:48AM -0500, Earl F. Glynn wrote:
> "Duncan Murdoch" <murdoch at stats.uwo.ca> wrote in message
> news:42555459.6040106 at stats.uwo.ca...
> > > Seems to me the conversion from hex to decimal should be system
> independent
> > > (and makes working with colors much more convenient).  Why isn't this
> system
> > > independent now?
> >
> > Presumably because nobody thought it was important enough to make it so.
> >   R isn't a low level system programming language, so why should it
> > treat hex specially?
> 
> 1) While generally I'd agree with your statement, manipulating colors is one
> place the ability to convert to/from hex would be quite nice.
> 
> > rgb(1,0,0.5)
> [1] "#FF0080"
> 
> rgb returns a hex string and then R makes manipulating this string somewhat
> difficult.

I'd like to second this opinion. It just occasionally happens that data are
available in some variant of hex format, and I've had the impression that
getting such data into R is a bit less convenient than it could be.

> One might want to use such color values to convert to a
> different color space, perform some sort of manipulation in that other color
> space, and then convert back to rgb.
> 
> 2) I would think that one of R's mathematical abilities would be to provide
> a way to convert from any base to base 10, and from base 10 to any base.  I
> haven't found this general math tool yet in R.  Working with base-16 (or
> even base 2 sometimes) could be done with such a general math tool.

In fact, the ANSI C function strtol already provides conversion to any
base between 2 and 36, so R's mathematical capabilities don't even need
to be invoked here.

An R function strtol(x, base), x being a character variable and base an
integer between 2 and 36, would probably add a bit of convenience. I've
never programmed that, though -- seems that I'm one of those to whom this
hasn't been important enough.

If it is done some day, I'd favour the strtol function over having as.numeric
interpret the (rather C-ish) 0x prefix. I wasn't aware that this currently
works on some platforms (and I'm glad it doesn't interpret the 0 prefix for
octal, as C does, making 007 legal and 008 not.  ;-)  )

Best regards, Jan
-- 
 +- Jan T. Kim -------------------------------------------------------+
 |    *NEW*    email: jtk at cmp.uea.ac.uk                               |
 |    *NEW*    WWW:   http://www.cmp.uea.ac.uk/people/jtk             |
 *-----=<  hierarchical systems are for files, not for humans  >=-----*




More information about the R-help mailing list