Round {base} | R Documentation |
ceiling
takes a single numeric argument x
and returns a
numeric vector containing the smallest integers not less than the
corresponding elements of x
.
floor
takes a single numeric argument x
and returns a
numeric vector containing the largest integers not greater than the
corresponding elements of x
.
trunc
takes a single numeric argument x
and returns a
numeric vector containing the integers formed by truncating the values in
x
toward 0
.
round
rounds the values in its first argument to the specified
number of decimal places (default 0).
signif
rounds the values in its first argument to the specified
number of significant digits.
zapsmall
determines a digits
argument dr
for
calling round(x, digits = dr)
such that values close to
zero (compared with the maximal absolute value) are ‘zapped’,
i.e., treated as 0
.
ceiling(x)
floor(x)
trunc(x, ...)
round(x, digits = 0)
signif(x, digits = 6)
zapsmall(x, digits = getOption("digits"))
x |
a numeric vector. A complex vector is allowed for
|
digits |
integer indicating the precision to be used. |
... |
arguments to be passed to methods. |
All but zapsmall
are generic functions: methods can be
defined for them individually or via the
Math
group generic.
Note that for rounding off a 5, the IEC 60559 standard is expected to
be used, ‘go to the even digit’.
Therefore round(0.5)
is 0
and round(-1.5)
is
-2
. However, this is dependent on OS services and on
representation error (since e.g. 0.15
is not represented
exactly, the rounding rule applies to the represented number and not
to the printed number, and so round(0.15, 1)
could be either
0.1
or 0.2
).
For signif
the recognized values of digits
are
1...22
. Complex numbers are rounded to retain
the specified number of digits in the larger of the components. Each
element of the vector is rounded individually, unlike printing.
All except zapsmall
are primitive, but arguments are matched by
name in round
and signif
(whereas the default methods
for ceiling
, floor
and trunc
ignore argument
names).
ceiling
, floor
and trunc
are S4 generic and
members of the Math
group
generic. As an S4 generic, trunc
has only one argument.
round
and signif
are S4 generic and members of the
Math2
group generic.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole. (Except zapsmall
.)
Chambers, J. M. (1998)
Programming with Data. A Guide to the S Language.
Springer. (zapsmall
.)
as.integer
.
round(.5 + -2:4) # IEEE rounding: -2 0 0 2 2 4 4
( x1 <- seq(-2, 4, by = .5) )
round(x1)#-- IEEE rounding !
x1[trunc(x1) != floor(x1)]
x1[round(x1) != floor(x1 + .5)]
(non.int <- ceiling(x1) != floor(x1))
x2 <- pi * 100^(-1:3)
round(x2, 3)
signif(x2, 3)
print (x2 / 1000, digits=4)
zapsmall(x2 / 1000, digits=4)
zapsmall(exp(1i*0:4*pi/2))