
Last chance! 50% off unlimited learning
Sale ends in
Function like cut but left endpoints are inclusive and labels are of
the form [lower, upper)
, except that last interval is [lower,upper]
.
If cuts are given, will by default make sure that cuts include entire
range of x
.
Also, if cuts are not given, will cut x
into quantile groups
(g
given) or groups
with a given minimum number of observations (m
). Whereas cut creates a
category object, cut2
creates a factor object.
cut2(x, cuts, m=150, g, levels.mean=FALSE, digits, minmax=TRUE,
oneval=TRUE, onlycuts=FALSE, formatfun=format, ...)
a factor variable with levels of the form [a,b)
or formatted means
(character strings) unless onlycuts
is TRUE
in which case
a numeric vector is returned
numeric vector to classify into intervals
cut points
desired minimum number of observations in a group. The algorithm does
not guarantee that all groups will have at least m
observations.
number of quantile groups
set to TRUE
to make the new categorical vector have levels attribute that is
the group means of x
instead of interval endpoint labels
number of significant digits to use in constructing levels. Default is 3
(5 if levels.mean=TRUE
)
if cuts is specified but min(x)<min(cuts)
or max(x)>max(cuts)
, augments
cuts to include min and max x
if an interval contains only one unique value, the interval will be
labeled with the formatted version of that value instead of the
interval endpoints, unless oneval=FALSE
set to TRUE
to only return the vector of computed cuts. This
consists of the interior values plus outer ranges.
formatting function, supports formula notation (if rlang
is installed)
additional arguments passed to formatfun
set.seed(1)
x <- runif(1000, 0, 100)
z <- cut2(x, c(10,20,30))
table(z)
table(cut2(x, g=10)) # quantile groups
table(cut2(x, m=50)) # group x into intevals with at least 50 obs.
Run the code above in your browser using DataLab