Re: [R] Need frequency distribution for x,y coordinates

From: Prof Brian Ripley <>
Date: Sat 11 Feb 2006 - 21:38:59 EST

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,        
Professor of Applied Statistics,
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________ mailing list
PLEASE do read the posting guide!
Received on Sat Feb 11 21:43:37 2006

This archive was generated by hypermail 2.1.8 : Tue 14 Feb 2006 - 00:34:31 EST