Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: the use of loop function in Stata |
Date | Mon, 12 Mar 2012 18:42:16 +0000 |
By "loop function" you mean here the -foreach- command. Your opening syntax can be simplified to foreach var of varlist lp* { but that's cosmetic. The most evident bug is that you are using the same character to delimit start and end of references to local macro names. The syntax is `macname' not 'macname'. Nick On Mon, Mar 12, 2012 at 6:29 PM, Rosie Chen <jiarongchen2002@yahoo.com> wrote: > Dear all, this is the first time I use loop function combined with global macro, and I got an error message of ""invalid name" after running the syntax below. Could any of you help identity where the problem is? Thank you very much. > > > ***I have lp1, lp2, lp3, and lp4, and would like to do the same analysis (within the loop) on each of the lp variables. > global lp "lp*" > display "$lp" > > foreach var of varlist $lp{ > > histogram 'var', by(AI4, col(1)) > sum 'var' > egen std'var'= sd('var') > gen sds'var'=0.2*std'var' > bysort AI4: sum 'var' > bysort AI4: egen mins'var'=min('var') > egen min'var'=max(mins'var') > bysort AI4: egen maxs'var'=max('var') > egen max'var'=min(maxs'var') > gen insamp'var'= ('var'>= (min'var'- sds'var') & 'var'<= max'var'+ sds'var') > } > * * 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/