【发布时间】:2011-01-19 11:00:25
【问题描述】:
在 R 中同步对两个向量进行排序的最有效方法是什么?第一个向量应该按升序排序,第二个向量应该以锁步的方式重新排序,以便在排序之前具有相应索引的元素在排序之后仍然具有相应的索引。例如:
foo <- c(1,3,2, 5,4)
bar <- c(2,6,4,10,8)
sort2(foo, bar)
# foo == c(1,2,3,4, 5)
# bar == c(2,4,6,8,10)
注意:效率是绝对必须的,因为我试图以此为基础创建 Kendall 的 Tau 的 O(N log N) 实现以作为补丁提交。我想避免在 C 中编写自己的特殊函数来执行此操作,但如果不能在 R 中有效地完成,我愿意这样做。
【问题讨论】: