2013-04-28 144 views
2

我试图舍舍舍数。R舍入单位的舍入数

例如,

value <- c(8.21,1.76, 6.42,1.94,10.38) 

如果舍入单元为0.2,结果将是

(8.2, 1.8, 6.4, 2.0, 10.4). 

我怎样才能做到这一点在R'感谢您的投入。

+0

你的结果是错误的。这是1.9,而不是2.0。尝试'圆(价值,1)'。 – 2013-04-28 22:40:42

+2

@RomanLuštrik1.94比1.8更接近2.0,这是我认为OP的意思是0.2作为舍入单位。 – 2013-04-28 22:43:21

+0

@GavinSimpson我想我昨天放弃它时一定会损坏我的水晶球。 :) – 2013-04-29 07:59:02

回答

6
round.to <- function(x, b) { 
    round(x/b)*b 
} 

round.to(value, .2) 
## [1] 8.2 1.8 6.4 2.0 10.4 

这种技术也适用于B> 1:

round.to(value, 2) 
## [1] 8 2 6 2 10