【问题标题】:Round number by rounding units in R [duplicate]通过 R 中的舍入单位来舍入数字 [重复]
【发布时间】:2013-04-28 22:37:53
【问题描述】:

我正在尝试通过舍入单位来舍入数字。

例如,

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 中做到这一点?感谢您的意见。

【问题讨论】:

  • 你的结果是错误的。那是 1.9,不是 2.0。试试round(value, 1)
  • @RomanLuštrik 1.94 比 1.8 更接近 2.0,这就是我认为 OP 将 0.2 作为舍入单位的意思。
  • @GavinSimpson 我想我昨天丢水晶球的时候一定损坏了它。 :)

标签: r rounding


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2019-01-17
    • 2012-06-19
    • 2016-01-23
    • 1970-01-01
    • 2017-08-15
    • 2015-12-11
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多