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

# st: RE: loop in stata

 From Nick Cox <[email protected]> To "'[email protected]'" <[email protected]> Subject st: RE: loop in stata Date Thu, 11 Aug 2011 20:18:21 +0100

```Various ways to do it, none of them exactly beautiful:

tokenize "a b c m"
local j = 1

foreach v in z y x n {
tab `v' ``j''
local ++j
}

Or more symmetrically:

local J : word count "a b c m"

forval j = 1/`J' {
local x : word `j' of "a b c m"
local y : word `j' of "z y x n"
tab `x' `y'
}

SJ-3-2  pr0009  . . . . . . . . . . . . . Speaking Stata:  Problems with lists
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
Q2/03   SJ 3(2):185--202                                 (no commands)
discusses ways of working through lists held in macros

or (directly)

http://www.stata-journal.com/sjpdf.html?articlenum=pr0009

for a much longer discussion.

Nick
[email protected]

I am trying to make a simple loop in stata but i cannot figure out how to.
i have two sets of variables let's say:
set1: a b c ...m
set2: z y x...n

i want to make a loop to run the tabs
tab a z
tab b y
tab c x
.
.
.
tab m n

i tried
foreach X in a b c... m{
foreach Y in z y x... n{
tab `X' `Y',m
}
}

the loop gave me all the posible combinatios between the two sets of
variables. Is there a way to make a loop that tabs only a with z, b
with y and so on

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