Numbers-对数值取整

问题

你想要对数值取整。

方案

存在许多中取整的方式:向最近的整数取整、向上或向下取整、或者向0取整。

x <- seq(-2.5, 2.5, by=.5)

# Round to nearest, with .5 values rounded to even number.
round(x)
#>  [1] -2 -2 -2 -1  0  0  0  1  2  2  2

# Round up
ceiling(x)
#>  [1] -2 -2 -1 -1  0  0  1  1  2  2  3

# Round down
floor(x)
#>  [1] -3 -2 -2 -1 -1  0  0  1  1  2  2

# Round toward zero
trunc(x)
#>  [1] -2 -2 -1 -1  0  0  0  1  1  2  2

也可以取整到小数位:

x <- c(.001, .07, 1.2, 44.02, 738, 9927) 

# 一位小数取整
round(x, digits=1)
#> [1]    0.0    0.1    1.2   44.0  738.0 9927.0

# 10位取整
round(x, digits=-1)
#> [1]    0    0    0   40  740 9930

# 向最近的5取整
round(x/5)*5
#> [1]    0    0    0   45  740 9925

# 取整到最近的.02
round(x/.02)*.02
#> [1]    0.00    0.08    1.20   44.02  738.00 9927.00

原文链接:http://www.cookbook-r.com/Numbers/Rounding_numbers/

人该是自己生活的主宰,而不是别人手里的行货