r - 在两个向量中查找最接近的以下数字
问题描述
这个问题似乎还没有解决R
。所以,给定例如
a <- c(20, 104, 380, 388)
b <- c(16, 38, 108, 130, 200, 222, 291, 314, 384, 406, 476, 498, 568, 591)
我如何找到后面的那些b
数字a
?因此,这里的解决方案应该是[38 108 384 406]
。
请注意,a
和b
的长度可能会有所不同。
解决方案
这利用了以下findInterval
功能:
b[findInterval(a, b)+1]
#### [1] 38 108 384 406
这(可能还有这里建议的其他一些解决方案)需要您之前对b
矢量进行排序。
您可以使用参数left.open
来决定当数字相等时您想要什么行为。
推荐阅读
- action - Akka.Net 从非 Actor 类调用 Actor 类中的动作
- python - 字节列表中的字符串?
- typescript - TypeScript 类型缩小与区分联合和回调没有按预期工作
- python - 如何理解用于 Imagenet 预处理的 TensorFlow 源代码
- javascript - 使用 ES5/Lodash,如何在不比较整个对象的情况下查找/删除一个数组中不在另一个数组中的对象?
- angular - 自定义角度材料分页器输入
- python - 字典中的甘特图,将离散的非连续日期列表作为值
- python - 为什么在遍历列表时不能在 for 循环周围使用括号?
- doxygen - 降价文件中的 Doxygen 缩进
- javascript - 不相关的 RxJS observable 导致 Apollo 订阅在 ngOnInit 上多次触发