Classifique uma matriz com base em outra matriz
Estou tentando colocar as linhas de uma matriz na mesma ordem das linhas de outra matriz da mesma dimensão. No entanto, não consigo descobrir como fazer isso sem um loop explícito. Parece que eu deveria ser capaz de fazer isso com subconjuntos e uma função apply ou Map, mas não consigo descobrir como fazer isso.
Aqui está um exemplo de brinquedo:
sortMe <- matrix(rnorm(6), ncol=2)
sortBy <- matrix(c(2,1,3, 1,3,2), ncol=2)
sorted <- sortMe
for (i in 1:ncol(sortMe)) {
sorted[,i] <- sortMe[,i][sortBy[,i]]
}
Usando este método, o resultadosorted
matriz contém os valores desortMe
ordenados na mesma ordem que osortBy
matriz. Alguma idéia de como eu faria isso sem o loop?