# st: multiple )))brackets, is there a more efficient way?

 From "Annelies Vos" To statalist@hsphsun2.harvard.edu Subject st: multiple )))brackets, is there a more efficient way? Date Tue, 25 May 2004 08:35:06 +0200 (MEST)

```Dear all,
in the FAQs I found the following very useful recommendation:
. generate byte a = 1 if y <= 20
. replace a = 2 if y > 20 &  y <= 30
. replace a = 3 if y > 30 & y <= 40
. replace a = 4 if y > 40 & y <.

do the following:

. #delim ;
. generate byte a =
cond(y<=20, 1,
cond(y<=30, 2,
cond(y<=40, 3,
cond(y<., 4,
. ))));

However, the variable I want to use it for (nationality) has many
values (every country in the world), which should be recoded into
countrygroups. I don't really like the idea of having to count the
number of "opening brackets": "(" , to know with how many "closing
brackets": ")" I should end. Is there any easier solution for this?

to explain a piece of my syntax:

> #delim;
> generate byte origin =
> cond(natio==3, 7,
> cond(natio==8, 10,
> cond(natio==12, 10,
> cond(natio==14, 8,
> cond(natio==28, -9,
> cond(natio==54, 6,
> cond(natio==69, 10,
> cond(natio==82, 8,
> cond(natio==139, 10,
> cond(natio==141, 10,
...etcetera
...which I would like to end on another way than:
> . ))))))))))

Thanks for any suggestions,

Annelies Vos

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```