Learn R Programming

matrixStats (version 0.12.2)

binCounts: Fast element counting in non-overlapping bins

Description

Counts the number of elements in non-overlapping bins

Usage

## S3 method for class 'default':
binCounts(x, bx, right=FALSE, ...)

Arguments

x
A numeric vector of K positions for to be binned and counted.
bx
A numeric vector of B+1 ordered positions specifying the B bins [bx[1],bx[2]), [bx[2],bx[3]), ..., [bx[B],bx
right
If TRUE, the bins are right-closed (left open), otherwise left-closed (right open).
...
Not used.

Value

  • Returns an integer vector of length B with non-negative integers.

Missing and non-finite values

Missing values in x are ignored/dropped. Missing values in bx are not allowed and gives an error.

Details

binCounts(x, bx, right=TRUE) gives equivalent results as rev(binCounts(-x, bx=rev(-bx), right=FALSE)), but is faster and more memory efficient.

See Also

An alternative for counting occurrences within bins is hist, e.g. hist(x, breaks=bx, plot=FALSE)$counts. That approach is ~30-60% slower than binCounts(..., right=TRUE).

To count occurrences of indices x (positive integers) in [1,B], use tabulate(x, nbins=B), where x does not have to be sorted first. For details, see tabulate().

To average values within bins, see binMeans().