Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

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

Re: st: the use of loop function in Stata

From   Rosie Chen <>
To   "" <>
Subject   Re: st: the use of loop function in Stata
Date   Mon, 12 Mar 2012 11:49:07 -0700 (PDT)

Nick, thank you very much for the helpful suggestion! 

----- Original Message -----
From: Nick Cox <>
Sent: Monday, March 12, 2012 2:42 PM
Subject: Re: st: the use of loop function in Stata

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 <> 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:

*   For searches and help try:

© Copyright 1996–2015 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index