上下取整R

上下取整R,r,rounding,R,Rounding,这可能看起来很愚蠢,但我并没有成功地按照自己的意愿对数据进行舍入。 这是我的阵列的一个示例: a 对于四舍五入min: roundDw <- function(x,to=-10) { to*(x%/%to + as.logical(x%%to)) } roundDw(min(a)) roundDw您可以使用plyr中的round\u any library(plyr) a <- seq(-0.5, 30, by = 5) round_any(min(a), 10, f =

这可能看起来很愚蠢,但我并没有成功地按照自己的意愿对数据进行舍入。 这是我的阵列的一个示例:

a
对于四舍五入
min

roundDw <- function(x,to=-10)
{
  to*(x%/%to + as.logical(x%%to))
}
roundDw(min(a))

roundDw您可以使用
plyr
中的
round\u any

library(plyr)

a <- seq(-0.5, 30, by = 5) 

round_any(min(a), 10, f = floor)
## -10  

round_any(max(a), 10, f = ceiling)
##  30
库(plyr)

a谢谢你的帮助。这适用于-0.5的情况,将四舍五入到-10。也许我错误地描述了我的问题,但是当我用-2.5替换-0.5时,它变成了30,这是我没有想到的。我的期望值是-10。但是如果min(a)是-12,那么我期望-20。你期望的数字范围是多少?你的数组中有数字吗?很抱歉,我正在测试代码,所以没有及时回复。他们工作得很好。非常感谢你的帮助。
roundDw <- function(x,to=-10)
{
  to*(x%/%to + as.logical(x%%to))
}
roundDw(min(a))
library(plyr)

a <- seq(-0.5, 30, by = 5) 

round_any(min(a), 10, f = floor)
## -10  

round_any(max(a), 10, f = ceiling)
##  30