Сортировать одну матрицу на основе другой матрицы
Я пытаюсь расположить строки одной матрицы в том же порядке, что и строки другой матрицы того же размера. Однако я не могу понять, как это сделать без явного цикла. Кажется, я должен быть в состоянии сделать это с помощью поднабора и функции применения или карты, но я не могу понять, как это сделать.
Вот пример игрушки:
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]]
}
Используя этот метод, в результатеsorted
матрица содержит значения изsortMe
отсортировано в том же порядке, что иsortBy
матрица. Есть идеи, как я могу это сделать без цикла?