[R] Why does plot() ignore the data type for axis labels?

Duncan Murdoch murdoch at stats.uwo.ca
Wed Feb 20 00:15:37 CET 2008


On 19/02/2008 5:40 PM, Stiffler wrote:
> 
> 
> Mark Difford wrote:
>>>> I was wondering why the plot() command ignores the datatype when
>>>> displaying axis labels...
>> plot() doesn't ignore the datatype:
>> [...]
>> plot(x,y) calls xy.coords(), which recasts x as: x = as.double(x), which
>> is fine, since x is (also/primarily) numeric.
>>
>> HTH, Mark.
>>
>>
> 
> Thanks for the explanation Mark.
> 
> If integers are being recast as doubles R is ignoring/overriding the user's
> choice of data-type. There may be good reasons for doing that internally
> (uniformity, code re-use etc) , but it is not what I'd expect as an end-user
> --- neither ?plot nor ?xy.coords seem to mention that coordinates need to be
> floating point numbers.

They don't need to be floating point numbers, they are converted if not.

The point is that a scatterplot is a graph of real numbers, not of 
integers.  Use a plot designed for a discrete data type if you don't 
want things displayed as their real values (see for example barplot, 
stripchart, dotchart, etc.)

Duncan Murdoch



More information about the R-help mailing list