Bookmark and Share

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


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

st: RE: local variables and running do files


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

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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index