Sto provando a inserire le righe di una matrice nello stesso ordine delle righe di un'altra matrice della stessa dimensione. Tuttavia non riesco a capire come farlo senza un ciclo esplicito. Sembra che dovrei essere in grado di farlo con subsetting e una funzione apply o Map, ma non riesco a capire come farlo.Ordinare una matrice basata su un'altra matrice
Ecco un esempio giocattolo:
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 questo metodo, il sorted
matrice risultante contiene i valori da sortMe
filtrate nello stesso ordine come matrice sortBy
. Qualche idea su come farei questo senza il ciclo?
Grazie per profilatura. È davvero interessante! –