[R] Need frequency distribution for x,y coordinates

Prof Brian Ripley ripley at stats.ox.ac.uk
Sat Feb 11 11:38:59 CET 2006


On Sat, 11 Feb 2006, Roger Bivand wrote:

> On Sat, 11 Feb 2006, mark shanks wrote:
>
>> I have a set of data in x,y coordinates across the range of -5 to 5 in each
>> dimension. I would like to obtain the frequency distribution of the
>> different points, and then graph them so you can see which of the points are
>> the most frequently occurring.
>>
>> This would seem to be easy in Matlab, which has the hist3 command for doing
>> frequency distributions/histograms in 3 dimensions. However, as far as I can
>> tell, R does not have a hist3 command.
>
> See contributed package ash, function bin2:
>
>> xy <- cbind(x=runif(250,-5,5), y=runif(250,-5,5))
>> bins <- bin2(xy, ab=matrix(c(-5,-5,5,5),2,2))
>> image(bins$nc)
>
> or
>
>> filled.contour(bins$nc)
>
> Using the x and y arguments to image or filled.contour, you can set the
> axes, and asp=1 to preserve aspect.
>
> See also function kde2d in package MASS - included in the standard
> distribution.

And density plots are usually a lot better than histograms for 
understanding 2D data.

> IMO, 3D histograms can mislead because perception depends on viewer
> position. All of the above give readily interpreted visualisations based
> on colour class intervals.

But if you really want one, see demo("hist3d") in package rgl, which 
allows you to change your position interactively and uses translucency.


>> Is there any easy way to do this in R? I'm investigating whether matlab or R
>> is more suitable for our needs, but don't want to reject R due to my present
>> ignorance of its functions.

-- 
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