在R中的排序向量中获取索引的最有效方法?
Posted
技术标签:
【中文标题】在R中的排序向量中获取索引的最有效方法?【英文标题】:Most efficient way to get index in a sorted vector in R? 【发布时间】:2021-06-07 22:58:19 【问题描述】:我有一个已排序的向量 x
和一个包含限制的向量 L
(按升序排列,没有特定假设),我想将所有限制的最大索引存储在 x
中。我有一个解决方案,但似乎效率低下。
最快的方法是什么?
x = sort(runif(n = 1e6))
L = sort(runif(n = 100))
index = sapply(L, function(l) which.max(x>l))
【问题讨论】:
【参考方案1】:你可以使用findInterval
:
x = sort(runif(n = 1e6))
L = sort(runif(n = 100))
findInterval(L, x) + 1
【讨论】:
谢谢,我做了一个测试,findInterval
似乎快得多,~100 倍。以上是关于在R中的排序向量中获取索引的最有效方法?的主要内容,如果未能解决你的问题,请参考以下文章