breaks_to_interval()
takes a specified set of breaks representing the left
hand limits of a closed open interval, i.e [x, y), and returns the
corresponding interval and upper bounds. The resulting intervals span from
the minimum break through to a specified max_upper
.
Arguments
- breaks
[integerish]
.1 or more non-negative cut points in increasing (strictly) order.
These correspond to the left hand side of the desired intervals (e.g. the closed side of [x, y).
Double values are coerced to integer prior to categorisation.
- max_upper
[numeric]
Represents the maximum upper bound splitting the data.
Defaults to
Inf
.
Value
A data frame with an ordered factor column (interval
), as well as columns
corresponding to the explicit bounds (lower_bound
and upper_bound
). Note
these bounds are returned as <numeric>
to allow the maximum upper bound to
be Inf
.
Examples
brks <- c(0L, 1L, 5L, 15L, 25L, 45L, 65L)
breaks_to_interval(breaks = brks)
#> interval lower_bound upper_bound
#> 1 [0, 1) 0 1
#> 2 [1, 5) 1 5
#> 3 [5, 15) 5 15
#> 4 [15, 25) 15 25
#> 5 [25, 45) 25 45
#> 6 [45, 65) 45 65
#> 7 [65, Inf) 65 Inf
breaks_to_interval(breaks = brks, max_upper = 100L)
#> interval lower_bound upper_bound
#> 1 [0, 1) 0 1
#> 2 [1, 5) 1 5
#> 3 [5, 15) 5 15
#> 4 [15, 25) 15 25
#> 5 [25, 45) 25 45
#> 6 [45, 65) 45 65
#> 7 [65, 100) 65 100