Bookmark and Share

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: the use of loop function in Stata

From   Nick Cox <[email protected]>
To   [email protected]
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

The syntax is `macname' not 'macname'.


On Mon, Mar 12, 2012 at 6:29 PM, Rosie Chen <[email protected]> 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:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index