为了优化我的代码,我正在寻找一种方法来组合许多连续的replace()
函数。我有一张1到2500之间的号码表。每个数字应四舍五入到下一个更高的一百(5->100-136->200等(类别。有没有更优雅的解决方案?
目前看起来是这样的:
ls <- c(1,126,1399,857,94,543)
ls <- replace(ls, ls > 1 & ls < 100, 100)
ls <- replace(ls, ls > 100.1 & ls < 200, 200)
ls <- replace(ls, ls > 200.1 & ls < 300, 300)
等等…
使用ceiling
四舍五入到最接近的较高整数:
ceiling(ls / 100) * 100
#[1] 100 200 1400 900 100 600