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

From |
"Martin Weiss" <martin.weiss1@gmx.de> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
st: AW: Local macro variable and do file execution |

Date |
Wed, 15 Jul 2009 21:51:52 +0200 |

<> Eric has pointed you to older threads which have discussed this issue. You may also want to note that a Stata session - during which you enter commands in the Command window - counts as one "level", with the result being that your -local-s are retained until you -ma drop- them... Just enter your commands one by one in the Command window to see this effect... HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Susheel Patil Gesendet: Mittwoch, 15. Juli 2009 20:48 An: 'statalist@hsphsun2.harvard.edu' Cc: Susheel Patil Betreff: st: Local macro variable and do file execution Dear All: I have noticed a rather interesting phenomenon for which I don't have an explanation. I'm hoping someone might have an answer. I have the following do file: sum tmp_dp local max display `max' return list local max = r(max) display `max' If I select a line from the do file and run each line separately, I get the output below. When I try to display the local macro variable `max'; STATA tells me it is empty. . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . sum tmp_dp Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- tmp_dp | 179 2.888268 1.3897 1 6 . end of do-file . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . local max . end of do-file . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . display `max' . end of do-file . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . return list scalars: r(N) = 179 r(sum_w) = 179 r(mean) = 2.888268156424581 r(Var) = 1.931266084991526 r(sd) = 1.389699998198002 r(min) = 1 r(max) = 6 r(sum) = 517 . end of do-file . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . local max = r(max) . end of do-file . do "C:\DOCUME~1\spatil3\LOCALS~1\Temp\STD06000000.tmp" . display `max' However, when I run the entire do file, STATA tells me `max' is now set to 6 (which is what it should be in my example). Output below. . . sum tmp_dp Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- tmp_dp | 179 2.888268 1.3897 1 6 . local max . display `max' . return list scalars: r(N) = 179 r(sum_w) = 179 r(mean) = 2.888268156424581 r(Var) = 1.931266084991526 r(sd) = 1.389699998198002 r(min) = 1 r(max) = 6 r(sum) = 517 . local max = r(max) . display `max' 6 My question is why is `max' in the 1st situation blank, but in the 2nd situation assigned a value? Thanks, Susheel Patil ------------------------------------------------------------------- Susheel P. Patil, M.D., Ph.D. Assistant Professor of Medicine Johns Hopkins Sleep Disorders Center Asthma and Allergy Center 5501 Hopkins Bayview Circle, Room 4B.41 Baltimore, MD 21224 Phone: 410-550-2335 Fax:410-550-3374 ------------------------------------------------------------------- * * 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/

**References**:**st: Local macro variable and do file execution***From:*Susheel Patil <spatil@jhmi.edu>

- Prev by Date:
**RE: st: oaxaca with subpop in svy** - Next by Date:
**st: Multiple histogram in same plot** - Previous by thread:
**RE: st: Local macro variable and do file execution** - Next by thread:
**st: RE: AW: Local macro variable and do file execution** - Index(es):

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