----- Original Message -----
From: "Fred Wolfe" <[email protected]>
To: <[email protected]>
Sent: Friday, August 01, 2003 1:13 PM
Subject: Re: st: not repeating the 'if' command
> At 02:04 PM 8/1/2003 -0400, you wrote:
> >I know that in SPSS there is way to set a filter for a series of commands
> >using a 'do if' statement. Is there a way to do this in STATA? For
> >example, I want to perform a large set of analyses on a set of groups
> >(group == 1....group == 50). Do I have to continue to type if group == 1
> >after each command? ex:
> >
> >tab race if group == 1
> >tab sex if group == 1
> >tab race sex if group == 1
> >
> >tab race if group == 2
> >tab sex if group == 2
> >tab race sex if group == 2
> >
> >or, is there a way to globally set off group == 1 for all analyses then a
> >command to globally set off group == 2 for all analyses, and so
> >on...? The above code seems too cumbersome.
> There are a number of approaches you can use:
>
> 1) bys group: tab race * etc */
>
> 2) forvalues i = 1/ [put the highest value of group here]{
> */ all of your analyses here */
> tab race if group == `i'
> tab sex if group ==`i'
> tab race sex if group == `i'
> }
>
> Fred Wolfe
>
In addition, if you group variable is not composed of consecutive numbers:
levels group, local(levels)
foreach l of local levels {
tab sex
tab race
tab race sex
}
Scott
*
* 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/