Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.

# Re: st: Ranking observations of a variable across a set of variables

 From "Jennifer L. Milosch" To statalist@hsphsun2.harvard.edu Subject Re: st: Ranking observations of a variable across a set of variables Date Wed, 02 Nov 2011 09:56:15 -0700

```Thank you, this is exactly what I was looking for.

--
Jennifer L. Milosch
Ph.D. Candidate
Dept of Economics
UC Santa Barbara

Quoting Nick Cox <njcoxstata@gmail.com>:

```
```For a detailed review of this and similar problems, see

```
SJ-9-1 pr0046 . . . . . . . . . . . . . . . . . . . Speaking Stata: Rowwise (help rowsort, rowranks if installed) . . . . . . . . . . . N. J. Cox
```        Q1/09   SJ 9(1):137--157
shows how to exploit functions, egen functions, and Mata
for working rowwise; rowsort and rowranks are introduced

Note that -egen-'s -rank()- function is not producing incorrect
results; it just does not produce what Jennifer wants and does not
claim to. It ranks observations on the values of a variable, not
variables on the values of a set of variables in each observation.

Nick

On Wed, Nov 2, 2011 at 5:02 AM, Tirthankar Chakravarty
<tirthankar.chakravarty@gmail.com> wrote:

```
```You probably want Nick Cox's -rowranks- package, available from SSC:

*****************************************
clear*
input x1 x2 x3 x4
50 10 30 60
20 60 10 40
end
ssc install rowranks
rowranks x1-x4, generate(rank1-rank4) field
li
*****************************************

```
```
```
```On Tue, Nov 1, 2011 at 8:24 PM, Jennifer L. Milosch
<milosch@umail.ucsb.edu> wrote:
```
```
```
I am trying to find the rank of an observation of a variable across a set of
```variables. My data looks something like this:

x1|x2|x3|x4
50|10|30|60
20|60|10|40

I want to generate a variable for the rank of x1 compared to the values of
x1, x2, x3, and x4 for each observation in the data.  I have tried using

-bysort x1 x2 x3 x4: egen rank1=rank(x1)-

```
but it is returning a variable of all ones, which is not correct.  Using the
```data above, I'm look for variables that are:

rank1|rank2|rank3|rank4
2 |4 |3 |1
3 |1 |4 |2

```
```
*
*   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/

```
```

*
*   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/
```