binning {sm} | R Documentation |
Construct frequency table from raw data in 1, 2 or 3 dimensions.
Description
Given a vector, or a matrix with 1, 2 or 3 columns, this function constructs a frequency table
associated with appropriate intervals covering the range of x
.
Usage
binning(x, y, breaks, nbins)
Arguments
x |
a vector or a matrix with either one, two or three columns, containing the original data. |
y |
a vector of data, for example response data, associated with the data in |
breaks |
either a vector or a matrix with two columns (depending on the dimension of |
nbins |
the number of intervals on each axis. If |
Details
This function is called automatically (under the default settings)
by some of the functions of the sm
library when the sample size is
large, to allow handling of datasets of essentially unlimited size.
Specifically, it is used by sm.density
, sm.regression
, sm.ancova
,
sm.binomial
and sm.poisson
.
Value
In the vector case, a list is returned containing the following elements:
a vector x
of the midpoints of the bins excluding those with 0 frequecies,
its associated matrix x.freq
of frequencies, the co-ordinates of the
midpoints
, the division points, and the complete vector of observed
frequencies freq.table
(including the 0 frequencies), and the vector
breaks
of division points.
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 frequencies,
its associated matrix x.freq
of frequencies, the coordinates of the
midpoints
, the matrix breaks
of 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
, sm.density
, sm.regression
, sm.binomial
, sm.poisson
, cut
, table
Examples
# example of 1-d use
x <- rnorm(1000)
xb <- binning(x)
xb <- binning(x, breaks=seq(-4,4,by=0.5))
# example of 2-d use
x <- rnorm(1000)
y <- 2*x + 0.5*rnorm(1000)
x <- cbind(x, y)
xb<- binning(x, nbins=12)