相关疑难解决方法(0)

从列表舍入到最接近的任意数字

我基本上是在寻找一种在R中对这个Ruby脚本进行变换的方法.
我有一个任意的数字列表(在这种情况下,回归图的主持人的步骤)彼此之间的距离不相等,而且我d想要将这些数字范围内的值舍入到列表中最接近的数字.范围不重叠.

arbitrary.numbers <- c(4,10,15) / 10
numbers <- c(16:1 / 10, 0.39, 1.45)
range <- 0.1
Run Code Online (Sandbox Code Playgroud)

预期产量:

numbers
## 1.6 1.5 1.4 1.3 1.2 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.39 1.45
round_to_nearest_neighbour_in_range(numbers,arbitrary.numbers,range)
## 1.5 1.5 1.5 1.3 1.2 1.0 1.0 1.0 0.8 0.7 0.6 0.4 0.4 0.4 0.2 0.1 0.4 1.5
Run Code Online (Sandbox Code Playgroud)

我有一个小助手功能,可能会对我的特定问题做,但它不是很灵活,它包含一个循环.我可以在这里发布,但我认为真正的解决方案看起来完全不同.

不同的答案为速度计时(百万数字)

> numbers = rep(numbers,length.out = 1000000)
> system.time({ mvg.round(numbers,arbitrary.numbers,range) })[3]
elapsed 
  0.067 
> system.time({ rinker.loop.round(numbers,arbitrary.numbers,range) })[3] …
Run Code Online (Sandbox Code Playgroud)

r

13
推荐指数
2
解决办法
3867
查看次数

标签 统计

r ×1