Construct frequency table from raw data
Usage
binning(x, breaks, nbins)
Arguments
x
|
a vector or a matrix with either one or two columns.
If x is a one-dimentional matrix, this is equivalent to a vector.
|
breaks
|
either a vector or a matrix with two columns, assigning the division
points of the axis, or the axes in the matrix case.
If breaks is not given, it is computed by dividing the range of x
into nbins intervals for each of the axes.
|
nbins
|
the number of intervals on the x axis (in the vector case),
or a vector of two elements with the number of intervals on each
axes of x (in the marix case).
If nbins is not given, a value is computed as round(log(length(x),2)+1)
or using a similar expression in the matrix case.
|
Description
Given a vector or a matrix x
, this function constructs a frequency table
associated to appropriate intervals covering the range of x.Details
This function is primarity intended for use in connection with sm.density
,
to estimate noparametrically a density function, when the number of data
points is high. To avoid lengthy computations and use of very large matrices,
the data are tabulated with the use of binning
, and the outcome is
passed to sm.density
which computes the estimated density curve,
using methods described in Chapter 1 of the reference below.Value
in the vector case, this is a list containing the vector midpoints
of the interval midpoints and the frequecies freq
associated to them;
in the matrix case, the returned value is a list with the following
elements: a two-dimensional matrix x
with the coordinates of the
midpoints of the two-dimensional bins excluding those with 0 frequecies,
its associated matrix x.freq
of frequencies, the coodinateds of the
midpoints
, the division points, and the observed frequencies freq.table
in full tabular form.References
Bowman, A.W. and Azzalini, A. (1997). Applied Smoothing Techniques for
Data Analysis: the Kernel Approach with S-Plus Illustrations.
Oxford University Press, Oxford.See Also
sm.density
, cut
,table
Examples
# example of 1-d use
x<-rnorm(1000)
xb<-binning(x)
sm.density(xb$x,h=hnorm(x),weights=xb$freq)
# example of 2-d use
x<-rnorm(1000)
x<-cbind(x,x+rnorm(1000))
xb<-binning(x)
plot(x)
sm.density(xb$x, h=hnorm(x), weights=xb$x.freq, display="slice", add=T)