首页 > 解决方案 > 查找高于和低于值 R 的最接近的倍数

问题描述

我正在尝试确定位于倍数上的变量上方和下方的值,最好是在 a 中dplyr::mutate

在这个简化的例子中。我想确定高于和低于我的值的 50 的倍数x。我的印象cut是我应该使用它,但我还没有让它工作。

df <- data.frame(
  x = c(265, 617, 88, 99, 143, 378)
)

    x
1 265
2 617
3  88
4  99
5 143
6 378
desired_result <- data.frame(
  x = c(265, 617, 88, 99, 143, 378),
  above = c(300, 650, 100, 100, 150, 400),
  below = c(250, 600, 50, 50, 100, 350)
) 

    x above below
1 265   300   250
2 617   650   600
3  88   100    50
4  99   100    50
5 143   150   100
6 378   400   350

标签: r

解决方案


df$above = ceiling(df$x/50)*50
df$below = floor(df$x/50)*50


    x above below
1 265   300   250
2 617   650   600
3  88   100    50
4  99   100    50
5 143   150   100
6 378   400   350

推荐阅读