Sortuj jedną macierz opartą na innej macierzy
Próbuję umieścić wiersze jednej macierzy w tej samej kolejności, co wiersze innej macierzy tego samego wymiaru. Nie mogę jednak zrozumieć, jak to zrobić bez wyraźnej pętli. Wygląda na to, że powinienem być w stanie to zrobić z ustawianiem podzbiorów i aplikacją lub funkcją Mapowania, ale nie wiem, jak to zrobić.
Oto przykład zabawki:
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]]
}
Korzystając z tej metody, otrzymujeszsorted
macierz zawiera wartości zsortMe
posortowane w tej samej kolejności cosortBy
matryca. Jakiś pomysł, jak bym to zrobił bez pętli?