Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: loop question
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: loop question
Date
Tue, 30 Nov 2010 16:55:27 +0000
First off, a -foreach- loop over the integers 1/20 is better written as a -forval- loop
forval n = 1/20 {
}
But more importantly,
1. Looping sounds a bad way to do what you want.
2. You are treating macros as if they were variables, which is a major misunderstanding.
You'd be better off explaining the structure of your data and what you want to do in words, and then you'll probably get better advice on what you should do.
Nick
[email protected]
P.S. please see Statalist advice:
http://www.stata.com/support/faqs/res/statalist.html#tojoin
especially 2.1.3.
P C
===
I have a loop question.
I want to do something like this:
local i=0
gen w1ttflsbyger=.
foreach n in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20{
replace w1ttflsbyger=`i'+1 if w1flsibage`n'<w1ageint & w1flsibage`n'!=. &
w1ageint~=.
replace i=`i'+1 if w1flsibage`n'<w1ageint & w1flsibage`n'!=. & w1ageint~=.
}
Of course, the last line of the syntax was wrong. Basically, I want to write
something to let "i" to increase by 1 if the condition: "w1flsibage`n'<w1ageint
& w1flsibage`n'!=. & w1ageint~=." are satisfied. Otherwise, "i" won't increase
by 1 and will jump out of the loop.
How should I write the loop?
*
* 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/