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]
Re: st: RE: local variables and running do files
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: RE: local variables and running do files
Date
Sat, 29 Oct 2011 02:12:53 +0100
It's the same question. The use of a local requires its prior
definition in the same locale.
"Locale", although a term used elsewhere in computing, is in this
context my term earlier defined in the thread.
Nick
On Fri, Oct 28, 2011 at 7:40 PM, Maria Ana Vitorino
<[email protected]> wrote:
> I am using Stata 11.
> But in any case what if I want to run some regressions, for example:
>
> reg y x1 x2 x3
>
> is equiv to
>
> --regtest.do
> local x "x1 x2 x3"
> reg y `x'
> ----
>
>
> but if after running the first 2 lines I want to run the command " sum `x' "
> it does not work. Is there anyway around this so that I don't have to
> define the local macro again?
>
> Thanks,
> Ana
>
>
>
> On Oct 28, 2011, at 2:30 PM, Nick Cox wrote:
>
>> 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/
>
> *
> * 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/