Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# st: RE: Sorting matrix on a column

 From Nick Cox <[email protected]> To "'[email protected]'" <[email protected]> Subject st: RE: Sorting matrix on a column Date Fri, 21 Jan 2011 17:37:02 +0000

```I had a quick look through various add-ons that were published by user-programmers about a decade ago and could not spot anything tailor-made.

So my guess is that the price of an all-Stata solution is that you need to write your own Stata program to do this.

The alternative is one line long

mata : st_matrix("a", sort(st_matrix("a"), 1))

where of course "a" should be replaced by your own matrix name in " ".

I really recommend that you get into Mata. Even a little goes a very long way.

Nick
[email protected]

Bert Jung

I need to sort a matrix according to a specific column.  For example:

mat a = (  ( 4 \ 2 \ 3 \ 1 ) , ( 90 \ 95 \ 92 \ 96 )   )
mat list a

a[4,2]
c1  c2
r1   4  90
r2   2  95
r3   3  92
r4   1  96

I would like to sort this matrix on the first column in decreasing order to get:

1	96
2	95
3	92
4	90

I realize that Mata's -sort(,)- may do this easily but don't have much
experience with Mata and prefer a "regular" Stata solution.

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```