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   Kieran McCaul <kieran.mccaul@uwa.edu.au>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   RE: st: Show Command Output in Foreach Loop ...
Date   Mon, 1 Jul 2013 14:30:02 +0800

...


Or if you are using UltraEdit as your text editor, I can send you a script that will do what you want.

Using Sergiy's example, I put the cursor on the line within the loop that I want to have echoed, hit alt-d to run the script, and it copies the line and inserts it above, adorned with `" "' quotes, and preceded with -di as input-. 

Voila!

sysuse auto
levelsof rep78, local(levs)
foreach lev in `levs' {
  di as input `". regress price weight if rep78==`lev'"' 
  regress price weight if rep78==`lev'
}
** eof


-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Sergiy Radyakin
Sent: Monday, 1 July 2013 2:07 PM
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: Show Command Output in Foreach Loop ...

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