在R中對鎖步中的兩個向量進行排序的最有效方法是什麼?第一個向量應該按升序排序,第二個向量應該以鎖步方式重新排序,這樣排序之前排序前具有相應索引的元素仍然具有相應的索引。例如:最有效的方法來排序兩個向量在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)
注:效率是絕對必要這裏我想用這個爲基礎,創建一個O(N日誌N)的實施Kendall的tau的提交的補丁。我想避免在C編寫我自己的特殊功能來做到這一點,但願意,如果它不能在R內有效完成。
謝謝。這不是**最有效的方式(涉及額外的間接性),但它絕對足夠好。 – dsimcha 2010-02-21 23:47:24
這是*最有效的方法。 R不會修改對象 - 如果您查看'sort.default'的源代碼,您會發現它在內部使用'order()'。 – hadley 2010-02-22 15:43:34