ceiling(x) floor(x) round(x, digits = 0) signif(x, digits = 6) trunc(x) zapsmall(x, digits= .Options$digits)
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
.
round
rounds the values in its first argument to the specified
number of decimal places (default 0).
Note that for rounding off a 5, the IEEE standard is used,
``go to the even digit''.
Therefore round(0.5)
is 0
and round(-1.5)
is -2
.
signif
rounds the values in its first argument to the specified
number of significant digits.
trunc
takes a single numeric argument x
and returns a
numeric vector containing the integers by truncating the values in
x
toward 0
.
zapsmall
determines a digits
argument dr
for calling
round(x, digits = dr)
such that values ``close to zero'' values
are ``zapped'', i.e., treated as 0
.
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)] all(trunc(x1) == as.integer(x1))# TRUE non.int <- ceiling(x1) != floor(x1) all(non.int == (ceiling(x1) != trunc(x1) | trunc(x1) != floor(x1))) # TRUE all((signif(x1, 1) != round(x1,1)) == (non.int & abs(x1)>1)) # TRUE x2 <- pi * 100^(-1:3) round(x2, 3) signif(x2, 3) print (x2 / 1000, digits=4) zapsmall(x2 / 1000, digits=4)