cut2 {Hmisc} | R Documentation |
Cut a Numeric Variable into Intervals
Description
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.
Usage
cut2(x, cuts, m=150, g, levels.mean=FALSE, digits, minmax=TRUE,
oneval=TRUE, onlycuts=FALSE, formatfun=format, ...)
Arguments
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 |
Value
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
See Also
Examples
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.