R中四舍五入的问题

R中对小数进行舍入操作是“四舍六入,五成双”, 如:

round(3.455, 2)
[1] 3.46
round(3.465, 2)
[1] 3.46
要执行“四舍五入”需要冲重写round函数:
round_f <- function(data, n){
data_sign <- sign(data)
data <- abs(data) * 10 ^ n
data <- data + 0.5
data <- trunc(data)
return (data_sign * data / 10 ^ n)
}
采样round_f,可以实现“四舍五入”
round_f(3.465, 2)
[1] 3.47
round_f(3.455, 2)
[1] 3.46

你可能感兴趣的:(R中四舍五入的问题)