【问题标题】:R: Leaner Code to reduce multiple replace() functionsR:精简代码以减少多个替换()函数
【发布时间】:2022-09-23 17:58:32
【问题描述】:

为了优化我的代码,我正在寻找一种方法来组合许多连续的 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)

等等...

    标签: r replace


    【解决方案1】:

    使用 ceiling 向上舍入到最接近的更高整数:

    ceiling(ls / 100) * 100
    #[1]  100  200 1400  900  100  600
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多