我想将数字舍入到最接近的一半或整数。所以我想要围绕4.2到4,4.3到4.5和4.8到5.我尝试了一些圆形选项:
> round(4.34,1)
[1] 4.3
> round(4.34)
[1] 4
> round(4.34,0.5)
[1] 4.3
> round(4.34,2)
[1] 4.34
所以我只知道如何增加有效数字的数量,而不知道如何进行不同类型的舍入。可以用圆函数完成,还是在R中有不同的函数?
答案 0 :(得分:14)
使用包round_any
中的plyr
功能:
library(plyr)
x <- 4.34
round_any(x, 3)
[1] 3
round_any(x, 1)
[1] 4
round_any(x, 0.5)
[1] 4.5
round_any(x, 0.2)
[1] 4.4
答案 1 :(得分:11)
这没有任何额外的包装:
x <- c(4.2, 4.3, 4.8)
round(x*2)/2
#[1] 4.0 4.5 5.0
答案 2 :(得分:5)
我不知道R,但我相信这会有用,语法不在:
y = x / 5
z = round(y, 1)
r = z * 5