Fatma,
Steve's solution will work if you really have variables with names of the
form x1 x2 x3 x4. If your variable names don't have numbers in them then
you probably want a single loop using extended macro functions to reference
multiple lists containing the actual variable names.
For example:
gen w=.
forvalues i=1/4 {
local x : word `i' of x_one x_two x_three x_four
local y : word `i' of y_one y_two y_three y_four
local z : word `i' of z_one z_two z_three z_four
replace w=`x' if `y'==1 & `z'==1
}
Note that, as with Steve's example, you want to -replace w- rather than -gen
w- in the loop because otherwise you'll get an error message that w already
exists in your second iteration.
-Sarah
-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Steve Nakoneshny
Sent: Thursday, March 28, 2013 1:33 PM
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: foreach command with multiple varlists
Fatma,
One initial problem I see is that you can only -gen- a var once. Every
subsequent manipulation of that var will have to be done using -replace-. I
suspect that you might be able to get away with something like as follows
(untested):
g w=.
forval i 1/4 {
replace w=x`i' if y`i'==2 & z`i'==1
}
Steve
On 2013-03-28, at 2:26 PM, Fatma Romeh wrote:
> Dear statalist,
>
> I have a question regarding the "foreach" command. I'm wondering whether
I can use multiple valists with "foreach"? More specifically, I'm looking
for something like that:
>
> foreach x of varlist x1-x4 & y of varlist y1-y4 & z of varlist
z1-z4 {
>
> gen w= `x' if `y'==2 & `z'==1
> }
>
> when I did that, I got this error message: "& invalid name". What I want
to do is to use the "foreach" command to replace these commands:
> gen w= x1 if y1==2 & z1==1
> gen w= x2 if y2==2 & z2==1
> gen w= x3 if y3==2 & z3==1
> gen w= x4 if y4==2 & z4==1
>
> Is there a way to do that?
>
>
>
> Many thanks,
>
>
> Fatma,
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/