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, statalist.org is already up and running.


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

Re: st: RE: about macro's double quotes


From   "G. Dai" <dgecon@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: RE: about macro's double quotes
Date   Tue, 9 Mar 2010 12:48:19 -0800

thanks for the reference, Martin.
yeah, the outer loop is redundant. But I do want to know why that "if"
doesn't work.  it is wired to a beginner...

On Tue, Mar 9, 2010 at 12:20 PM, Martin Weiss <martin.weiss1@gmx.de> wrote:

>
> <>
>
> If you want to read up on -macro-s, check out manual [U], section 18.3.
>
> What do you want to achieve with your outer loop? You let it cycle through
> three elements of a -global-. The -gen- and -replace- statements inside the
> second loop are supposed to be executed only for the first element of the
> -global-. Would it not be much easier to drag the -gen-/-replace- statement
> out of the inner loop, and ditch the outer one? Maybe this is taken out of
> context, but from what is visible in your post, the outer loop is
> redundant...
>
>
> HTH
> Martin
>
>
> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of G. Dai
> Sent: Dienstag, 9. März 2010 20:20
> To: statalist@hsphsun2.harvard.edu
> Subject: st: about macro's double quotes
>
> dear all,
> I'm a first time  user of macros. As you can see from below, I want to
> generate a  new var r`i'pnhm when x=md.  After execute the do file, it
> runs smoothly for x=md. After that, however, I was always reminded by STATA
> that
>               r5pnhm5y already defined
>               r(110);
> so what's wrong with the following program. BTW,I'm little bit confused by
> the macro
> quotes, can anyone say tips?
> regards,
> Guang
>
>
>
> global set "md mom dad";
> foreach x in $set {;
> forvalues i=5/8{;
> gen r`i'pnhm=. if "`x'"=="md";
> replace r`i'pnhm=int(10*r`i'pnhm5y)/10 if "`x'"=="md";
> ....
> };
>
> *
> *   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/
>
>
> *
> *   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/
>

*
*   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/


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