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]

st: RE: local variables and running do files


From   Nick Cox <n.j.cox@durham.ac.uk>
To   "'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu>
Subject   st: RE: local variables and running do files
Date   Fri, 28 Oct 2011 19:30:48 +0100

The term "local variable" is to be avoided, as explained at 

http://www.stata.com/statalist/archive/2008-08/msg01258.html

What you are seeing is a defining feature of a local macro: it is visible only locally, i.e. within the locale in which it is defined, i.e. not visible outside the interactive session, program, do file or do file editor contents within which it is defined. 

You need to pass the contents of your local macro to the do-file as an argument. If you write e.g. 

------------ mydo.do
su `1' 
------------

And then go 

mydo "var1 var2" 

then the do file uses the argument you feed to it. Arguments are separated by spaces and bound by " ". This is all explained in the chapter(s) on do-files in [U], which is part of your Stata, as without declaring otherwise it is assumed that you are using Stata 12. 

Nick 
n.j.cox@durham.ac.uk 

Maria Ana Vitorino

I would like to run a do file in batches (i.e. a few lines at a time)  
but it seems that then the local variables that I defined in the  
beginning do not carry over ...
Any solution for this?

Here is some output for a simple example so that you can better  
understand what is my issue.

Thanks!!
Ana


. do "/var/folders/Xn/Xnl4Mq-lGR4-mNII1zm-Wk+++TI/-Tmp-//SD17268.000000"

. sum

     Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         var1 |        24        12.5    7.071068          1         24
         var2 |        24        36.5    7.071068         25         48
         var3 |        24        61.5    7.071068         50         73

. local var "var1 var2"

.
end of do-file

. do "/var/folders/Xn/Xnl4Mq-lGR4-mNII1zm-Wk+++TI/-Tmp-//SD17268.000000"

. sum `var'

     Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
         var1 |        24        12.5    7.071068          1         24
         var2 |        24        36.5    7.071068         25         48
         var3 |        24        61.5    7.071068         50         73


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