Cut a Numeric Variable into Intervals
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, ...)
x |
numeric vector to classify into intervals |
cuts |
cut points |
m |
desired minimum number of observations in a group. The algorithm does
not guarantee that all groups will have at least |
g |
number of quantile groups |
levels.mean |
set to |
digits |
number of significant digits to use in constructing levels. Default is 3
(5 if |
minmax |
if cuts is specified but |
oneval |
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 |
onlycuts |
set to |
formatfun |
formatting function, supports formula notation (if |
... |
additional arguments passed to |
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
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.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.