R改变小数位而不舍入

时间:2014-07-07 01:24:14

标签: r dataframe decimalformat

> signif(1.89,digits=2)
[1] 1.9

我想要1.8

2 个答案:

答案 0 :(得分:0)

这有点笨拙,但它会起作用并保持所有数字:

x <- 1.829380

trunc.dec <- function(x,n) {
  floor(x*10^n)/10^n
}

结果:

trunc.dec(x,1)
#[1] 1.8
trunc.dec(x,2)
#[1] 1.82
trunc.dec(x,3)
#[1] 1.829
trunc.dec(x,4)
#[1] 1.8293

答案 1 :(得分:0)

> format(round(1.20, 2), nsmall = 2)
[1] "1.20"
> format(round(1, 2), nsmall = 2)
[1] "1.00"
> format(round(1.1234, 2), nsmall = 2)
[1] "1.12"

尝试this文章中的此变体,以便您可以获得更多样本。