Cách hiệu quả nhất để sắp xếp hai vectơ ở bước khóa trong R là gì? Vectơ đầu tiên nên được sắp xếp theo thứ tự tăng dần và thứ hai nên được sắp xếp lại theo thứ tự khóa để các phần tử có chỉ số tương ứng trước khi sắp xếp vẫn có các chỉ số tương ứng sau khi sắp xếp. Ví dụ:Cách hiệu quả nhất để sắp xếp hai vectơ ở bước khóa trong 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)
Lưu ý: Hiệu quả là phải tuyệt đối ở đây như tôi đang cố gắng để sử dụng như là cơ sở cho việc tạo ra một O (N log N) thi hành Tàu Kendall để nộp như một bản vá. Tôi muốn tránh viết chức năng đặc biệt của riêng tôi trong C để thực hiện việc này, nhưng sẽ sẵn lòng nếu không thể thực hiện hiệu quả trong phạm vi R.
Cảm ơn. Đây không phải là ** cách hiệu quả nhất (một sự gián đoạn thêm có liên quan), nhưng nó chắc chắn là đủ tốt. – dsimcha
Đây là * cách hiệu quả nhất. R không sửa đổi các đối tượng tại chỗ - và nếu bạn nhìn vào mã nguồn cho 'sort.default' bạn sẽ thấy nó sử dụng' order() 'nội bộ. – hadley