fastFindInterval | R Documentation |
A faster alternative to findInterval
for intervals which are equally-spaced.
fastFindInterval(x, b, labels = FALSE, reltol = 0.001, dig.lab = 3L,
left.open=TRUE)
x |
Data. Numeric vector of values that are to be classified. |
b |
Breakpoints. Numeric vector of increasing values that are the endpoints of the intervals. |
labels |
Logical value specifying whether to return a factor, whose levels are the string labels of the intervals. |
reltol |
Relative tolerance. A positive number. |
dig.lab |
Integer. Maximum number of digits to use in the labels
for the intervals, when |
left.open |
Logical value specifying whether intervals are left-open and
right-closed ( |
This is an alternative to
findInterval(x, b, rightmost.closed=TRUE)
which seems to be faster when b
is equally spaced
and the length of x
is large.
If labels=FALSE
(the default), the result is an integer vector
giving, for each value x[i]
, the index j
of the interval that
contains x[i]
:
If left.open=TRUE
(the default), the intervals are left-open
and right-closed, except for the first interval. This means that
x[i]
belongs to the j
th interval if
b[j] < x[i] <= b[j+1]
for j > 1
and b[1] <= x[i] <= b[2]
for j=1
.
If left.open=FALSE
, the intervals are left-closed
and right-open, except for the last interval. This means that
x[i]
belongs to the j
th interval if
b[j] <= x[i] < b[j+1]
for j < m
and b[m] <= x[i] <= b[m+1]
for j=m
where m = length(b)-1
is the number of intervals.
If labels=TRUE
, the result is a factor, and the levels are
synthetic labels for the intervals, similar to those produced by
findInterval
.
Note that the default value of left.open
is TRUE
for fastFindInterval
but FALSE
for findInterval
.
Integer vector, or factor.
.
findInterval
x <- runif(10)
b <- seq(0, 1, by=0.2)
fastFindInterval(x, b, labels=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.