Counts the number of elements in non-overlapping bins
binCounts(x, idxs = NULL, bx, right = FALSE, ...)
Returns an integer
vector
of
length B with non-negative integers.
A numeric
vector
of K
positions for to be binned and counted.
A vector
indicating subset of elements to
operate over. If NULL
, no subsetting is done.
A numeric
vector
of B + 1
ordered positions specifying the B > 0 bins [bx[1], bx[2])
,
[bx[2], bx[3])
, ..., [bx[B], bx[B + 1])
.
If TRUE
, the bins are right-closed
(left open), otherwise left-closed (right open).
Not used.
Missing values in x
are ignored/dropped. Missing values in bx
are not allowed and gives an error.
Henrik Bengtsson
binCounts(x, bx, right = TRUE)
gives equivalent results as
rev(binCounts(-x, bx = rev(-bx), right = FALSE))
, but is faster
and more memory efficient.
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
integer
s) 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
().