discretize: Discretize a numeric vector

View source: R/discretize.R

discretizeR Documentation

Discretize a numeric vector

Description

Wrap base::cut.default to make it convenient to use different binning methods (see get_breaks), and custom functions for labels and number formats

Usage

discretize(
  x,
  n = 5,
  method = break_methods(),
  labels_formatter = label_breaks_value,
  number_formatter = scales::number_format(big.mark = ","),
  ordered_result = TRUE
)

Arguments

x

a numeric vector

n

integer indicating the number of intervals/bins desired

method

a character of length 1, indicating the method to use. Possible values are c("jenks", "isowidth", "quantile")

labels_formatter

a function to produce the labels to pass to cut

number_formatter

a function to format numbers, before building labels

ordered_result

logical: should the result be an ordered factor?

Value

a vector as returned by cut, which is a factor, unless labels = FALSE which results in an integer vector of level codes.

Examples

set.seed(1234567)

# quick example
set.seed(1234567)
discretize(runif(100))

# customize binning method
set.seed(1234567)
discretize(runif(100), method = "quantile")

# customize number format
set.seed(1234567)
discretize(runif(100), number_formatter = scales::percent)

# customize labels
set.seed(1234567)
discretize(runif(100), labels_formatter = label_breaks_interval)

set.seed(1234567)
discretize(runif(100), labels_formatter = label_breaks_cut)

edalfon/efun documentation built on June 23, 2024, 4:17 a.m.