in reply to Re: Sort a matrix by row
in thread Sort a matrix by row
Thank you for your answers!
Indeed, working with indexes do the job, because in the end I just want to retrieve the array "effects" in the right order, and not necessarily reconstruct the matrix.
So with my example, this code works fine :
my @idx = sort { $matrix[0][$a] cmp $matrix[0][$b] } 0..$#{$matrix[0]} +; my @effets_ord = map { $matrix[2][$_] } @idx;
If I understood correctly, this sorts the transcript's row (attributes indexes actually) and finally I get the effects in the right order.
This is the first step of what I aim to do.
BUT for the second step (sort alleles) the subtlety I omit to say is that I want to order alleles according to another array, let's say for example:
my @alleles_origin = (a2,a1,a3);Knowing the number of members in @alleles is the same for each transcript (t1 and t2).
So finally, the effects in my array @effects_sorted would be in the order of : t1 then t2 (this step is ok now thanks to you guys), and also alleles in the order of @alleles_origin for t1 and t2.
|
|---|