How can I reorder the rows of a matrix, data.frame or vector according to another one

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

After fixing your code snipped to actually generate what your example shows (hint: test1 had names a,b,c,d,e; you meant a,d,c,b,1 as it shows now), this was easier thanks to match():

R> test2[match(row.names(test2), row.names(test1)),1,drop=FALSE]
  [,1]
a   10
d    7
c    8
b    9
e    6
R> 

They key here is that match() does what you want:

R> match(row.names(test2), row.names(test1))
[1] 5 2 3 4 1