向下舍入到最接近的 10

Kar*_*nol 0 r rounding floor

所以我有一列从 10 到 100 的值,我希望所有这些值都四舍五入到最接近的 10。诀窍是我希望它总是四舍五入。例如,55 将变成 50 而不是 60。我想会为此实现 floor,但是当我尝试 floor 时,它只返回相同的值而不改变。

x
10
15
20
27
30
34
Run Code Online (Sandbox Code Playgroud)

等等...

我想要的是:

x
10
10
20
20
30
30
Run Code Online (Sandbox Code Playgroud)

我试过的:

data$x <- floor(data$x)
Run Code Online (Sandbox Code Playgroud)

这只给了我完全相同的值。

duc*_*ayr 6

由于floor(x)得到y不大于的最小整数x,你可以将所有的值x除以 10,得到下限,然后再乘以 10;即,您可以使用floor(x/10) * 10

x <- c(10,
       15,
       20,
       27,
       30,
       34)
floor(x/10) * 10
# [1] 10 10 20 20 30 30
Run Code Online (Sandbox Code Playgroud)