Sortieren Sie eine Matrix basierend auf einer anderen Matrix

Ich versuche, die Zeilen einer Matrix in der gleichen Reihenfolge wie die Zeilen einer anderen Matrix der gleichen Dimension zu platzieren. Allerdings kann ich ohne explizite Schleife nicht ganz herausfinden, wie das geht. Es scheint, dass ich dies mit einer Teilmenge und einer Anwenden- oder Zuordnungsfunktion tun sollte, aber ich kann nicht herausfinden, wie es geht.

Hier ist ein Spielzeugbeispiel:

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]]
}

Mit dieser Methode wird das resultierendesorted Matrix enthält die Werte vonsortMe sortiert in der gleichen Reihenfolge wie diesortBy Matrix. Irgendeine Idee, wie ich das ohne die Schleife machen würde?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage