Tar*_*ham 1 r rounding significant-digits
将值四舍五入到特定有效数字的最简单方法是什么?
像函数signif()之类的东西,但只执行向上舍入(不向下)
例如:向上舍入0.001145288到1有效数字将产生0.002
任何建议将不胜感激:)
干杯!
在一个有效数字的情况下,此函数提供所需的输出:
upround1 <- function(x) {
if (isTRUE(all.equal(x,0))) return (x)
decs <- 10^floor(log10(abs(x)))
ceiling(x/decs)*decs
}
Run Code Online (Sandbox Code Playgroud)
例子:
upround1(0.001145288)
#[1] 0.002
upround1(0.0008145258)
#[1] 9e-04
upround1(11)
#[1] 20
upround1(-11)
#[1] -10
upround1(-0.023)
#[1] -0.02
Run Code Online (Sandbox Code Playgroud)