我正在编写一个函数来绘制数据。我想为 y 轴 max
指定一个大于数据集最大值的整数。
具体来说,我想要一个执行以下操作的函数foo
:
foo(4) == 5
foo(6.1) == 10 #maybe 7 would be better
foo(30.1) == 40
foo(100.1) == 110
我已经做到了
foo <- function(x) ceiling(max(x)/10)*10
用于舍入到最接近的 10,但这不适用于任意舍入间隔。
在 R 中是否有更好的方法来做到这一点?
最佳答案
plyr
库有一个函数 round_any
,它非常通用,可以进行各种舍入。例如
library(plyr)
round_any(132.1, 10) # returns 130
round_any(132.1, 10, f = ceiling) # returns 140
round_any(132.1, 5, f = ceiling) # returns 135
关于r - 如何四舍五入到最接近的 10(或 100 或 X)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461209/