Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <n.j.cox@durham.ac.uk> |
To | "'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu> |
Subject | st: RE: Isolate the 'if statement' from a regression command |
Date | Mon, 28 May 2012 14:31:36 +0100 |
You may find it easiest to push the command through -syntax-. Although it's not emphasised very much (that I can recall), -syntax- doesn't require the context of a previous -program- call, although that is its natural habitat. -syntax- works on whatever is in local macro 0. Thus in this case the principle is shown by reg price mpg headroom if foreign==1 local 0 `e(cmdline)' local 0 : subinstr local 0 "regress" "" syntax varlist [if] [in] [, * ] mac li Notes: 1. Watch out. -syntax- zaps whatever is in the local macros it might create. It may be better to write a small subroutine that does the processing for you and returns the -if- element. Using -c_local- (no; it's not documented) or using s-class results is natural here. 2. You may of course need something more elaborate. This is just a pointer. Nick n.j.cox@durham.ac.uk -----Original Message----- From: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Lythgoe, Dan Sent: 28 May 2012 14:07 To: 'statalist@hsphsun2.harvard.edu' Subject: st: Isolate the 'if statement' from a regression command Dear statalist, Is there a simple way to isolate the 'if statement' from a regression command line for storage as a local macro? Ideally we could do with being able to parse using "if" in -tokenize-, but parse() only accepts single characters and instead parses on "i" and "f": Sysuse auto reg price mpg headroom if foreign==1 local cmdline `e(cmdline)' tokenize "`cmdline'", parse("if") di "`1'" " | " "`2'" " | " "`3'" Kind regards Dan * * 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/