test1 <- as.matrix(c(1, 2, 3, 4, 5))
row.names(test1) <- c("a", "d", "c", "b", "e")
test2 <- as.matrix(c(6, 7, 8, 9, 10))
row.names(test2) <- c("e", "d", "c", "b", "a")
test1
[,1]
a 1
d 2
c 3
b 4
e 5
test2
[,1]
e 6
d 7
c 8
b 9
a 10
Làm cách nào để sắp xếp lại test2 sao cho các hàng theo thứ tự như test1? ví dụ:R: Làm cách nào để sắp xếp lại các hàng của ma trận, data.frame hoặc véc tơ theo một hàng khác
test2
[,1]
a 10
d 7
c 8
b 9
e 6
Tôi đã cố gắng sử dụng chức năng sắp xếp lại với: sắp xếp lại (test1, test2) nhưng tôi không thể tìm ra cú pháp chính xác. Tôi thấy rằng sắp xếp lại có một vector, và tôi đang ở đây bằng cách sử dụng một ma trận. Dữ liệu thực của tôi có một vector ký tự và một dữ liệu khác dưới dạng data.frame. Tôi thấy rằng cấu trúc dữ liệu sẽ không quan trọng quá nhiều cho ví dụ trên, tôi chỉ cần trợ giúp với cú pháp và có thể điều chỉnh nó thành vấn đề thực sự của tôi.
Tại sao điều này không làm việc cho dữ liệu của tôi? Tôi muốn làm test2 [match (test2 $ cột, test1 $ cột), 1, drop = FALSE] vì những gì tôi đang khớp là giá trị của các cột không phải là row.names – chimpsarehungry