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]

Re: st: Show Command Output in Foreach Loop ...


From   Michael Stewart <michaelstewartresearch@gmail.com>
To   statalist <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Show Command Output in Foreach Loop ...
Date   Thu, 4 Jul 2013 22:54:57 -0400

Hi,

I am trying to understand the  code written by Sergiy.I have couple of
questions .I hope someone can answer them.Thank you in advance for
your time and consideration.Sorry, they might be basic questions for
the  expert programmers in this forum.


sysuse auto,clear
levelsof rep78, local(levs)
foreach lev in `levs' {
  local cmd `"regress price weight if rep78==`lev'"'
  display `"`cmd'"'
  `cmd'
}

Question-1:

Does it matter if we substitute  local cmd regress price weight if
rep78==`lev'     for    local cmd `"regress price weight if
rep78==`lev'"'

I am getting the same result  or am I missing something

Likewise I am getting same result with display `"`cmd'"' OR  display
"`cmd'".Is there any difference between the two or am I missing
something


Question-2:

How does the command   `cmd'   work.It seems to be display the regression output

Thanks a lot for your time.

--
Yours Sincerely,
Mike.

On Mon, Jul 1, 2013 at 2:07 AM, Sergiy Radyakin <serjradyakin@gmail.com> wrote:
> Matthew, it has been an observation in this list that you get a much
> higher chances of getting responses and faster responses if you
> supplement your question with a starter like this:
>
> sysuse auto
> levelsof rep78, local(levs)
> foreach lev in `levs' {
>   regress price weight if rep78==`lev'
> }
> ** eof
>
> Then all one has to do is a little edit to the code to get the answer you seek:
>
> sysuse auto
> levelsof rep78, local(levs)
> foreach lev in `levs' {
>   local cmd `"regress price weight if rep78==`lev'"'
>   display `"`cmd'"'
>   `cmd'
> }
> ** eof
>
> Best, Sergiy
>
>
>
> On Sun, Jun 30, 2013 at 10:31 PM, Matthew McKay
> <matthew.mckay@anu.edu.au> wrote:
>> Statalist,
>>
>> I have seen a few earlier remarks in 2007 about showing commands during foreach loops.
>> Option 1:
>> Set trace on
>> Set tracedepth 1
>> This doesn't work that well for me as it clumps the commands together and then the regression output together.
>>
>> Since then, is there a better way to show the issued command during a foreach loop?
>> Why can't it just simply show the executed lines and the regression as if the code was running outside of a foreach loop in one long sequence?
>>
>> I have multiple datasets that I would like to run the same extensive set of analysis on.
>> The smcl log file output is not very reader friendly without the command breaks printed in between each regression.
>>
>> Cheers,
>> Matthew
>> Phd Student
>> ACDE, Crawford School
>>
>>
>> *
>> *   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index