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


如何重新排列test2以便行与test1相同?例如

 test2
  [,1]
a    10
d    7
c    8
b    9
e    6


我尝试将reorder函数用于:reorder(test1,test2),但是我找不到正确的语法。我看到重新排序需要一个向量,而我在这里使用矩阵。我的真实数据有一​​个字符向量,另一个是data.frame。我认为对于上面的示例来说,数据结构并不太重要,我只需要语法方面的帮助即可使其适应我的实际问题。

最佳答案

test2 <- test2[rownames(test1),,drop=FALSE]

关于r - 如何根据另一行重新排列矩阵,data.frame或vector的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2785998/

10-13 00:31