这可能看起来很愚蠢,但我还没有成功地按照我的意愿来整理数据。 这是我的数组的一个例子:
a<-c(-0.5:30,by=5)
我想要的是:min(a)
到向下舍入到下一个数字到10的倍数但是max(a)
到向上舍入
这种情况:
min(a)=-0.5
我希望它向下舍入到-10
max(a)=29.5
我想要围捕(到30或40)。
我花了很多时间思考和搜索它,但没有找到任何东西。 任何帮助都将受到高度赞赏。
此致 PHUONG
答案 0 :(得分:1)
a<- seq(from = -0.5, to = 30, by = 5)
用于整理max
:
roundUp <- function(x,to=10)
{
to*(x%/%to + as.logical(x%%to))
}
roundUp(max(a))
用于向下舍入min
:
roundDw <- function(x,to=-10)
{
to*(x%/%to + as.logical(x%%to))
}
roundDw(min(a))
答案 1 :(得分:1)
您可以使用round_any
中的plyr
。
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