我正在尝试创建一个函数,根据给定的向量确定特定值进入的存储桶。所以我的函数有两个输入:一个确定存储桶断点的向量 (例如:如果向量是(1,4,5,10),则桶将是< = 1,110) 和一定数量。我希望函数输出确定存储桶的特定值。 例如,如果我输入.9,输出可以是1,1.6,输出可以是4,5.8输出可以是10,13,输出可以是“10 +”。
我现在正在做的方法是首先检查输入数字是否大于矢量的最大元素或小于矢量的最小元素。如果没有,我然后运行for循环(无法弄清楚如何使用apply)来检查数字是否在每个特定的时间间隔内。问题是这样效率太低,因为我正在处理大型数据集。有谁知道这样做的有效方法?
答案 0 :(得分:4)
cut()
功能便于分组:cut(splitme,breaks=vectorwithsplits)
。
然而,看起来你实际上是在试图找出一个插入点。您需要binary search之类的内容。