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: loop with global marco
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: loop with global marco
Date
Wed, 19 Feb 2014 12:55:08 +0000
I see you want block output. OK. But one block would be even more compact.
su $var1 $var2 $var3
Nick
[email protected]
On 19 February 2014 12:52, Nick Cox <[email protected]> wrote:
> Not so! The idea is perfectly sound.
>
> Presumably you did something else, which you do not explain, and that
> something else was wrong. Expecting comments on code you do not show
> us is a bad idea.
>
> . sysuse auto, clear
> (1978 Automobile Data)
>
> . global var1 weight length
>
> . global var2 trunk weight
>
> . foreach v in $var1 $var2 {
> 2. su `v'
> 3. }
>
> Variable | Obs Mean Std. Dev. Min Max
> -------------+--------------------------------------------------------
> weight | 74 3019.459 777.1936 1760 4840
>
> Variable | Obs Mean Std. Dev. Min Max
> -------------+--------------------------------------------------------
> length | 74 187.9324 22.26634 142 233
>
> Variable | Obs Mean Std. Dev. Min Max
> -------------+--------------------------------------------------------
> trunk | 74 13.75676 4.277404 5 23
>
> Variable | Obs Mean Std. Dev. Min Max
> -------------+--------------------------------------------------------
> weight | 74 3019.459 777.1936 1760 4840
>
> .
> Nick
> [email protected]
>
>
> On 19 February 2014 12:42, Nick Bornschein <[email protected]> wrote:
>> Unfortunately that does not work. There is the error message: too few
>> variables specified.
>> When I use
>> su $var1
>> or any other global, it works perfectly, but not within the loop.
>>
>>
>>
>>
>> Am 19.02.14 13:33, schrieb Nick Cox:
>>
>>> foreach x in $var1 $var2 $var3
>>>
>>> That way the macroname gets expanded to the macro contents and
>>> -foreach- just sees the results of that, not the globals.
>>> Nick
>>> [email protected]
>>>
>>>
>>> On 19 February 2014 12:23, Nick Bornschein <[email protected]>
>>> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I defined 3 global macros, each of them containing the names of
>>>> variables:
>>>> (... means there are a lot more variables in it)
>>>>
>>>> global var1 "hope truth..."
>>>> global var2 "life death..."
>>>> global var3 "never loose..."
>>>>
>>>> Now I want to summarize the global macros in blocks with:
>>>>
>>>> foreach x of global var1 var2 var3 {
>>>> su `x'
>>>> }
>>>>
>>>> But it does not work, it always runs through all variables without
>>>> creating
>>>> blocks. What is the problem?
>>>>
>>>> -Nick
>>>> *
>>>> * For searches and help try:
>>>> * http://www.stata.com/help.cgi?search
>>>> * http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/