Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Modifying the content of a macro

From   Thomas Speidel <>
Subject   Re: st: Modifying the content of a macro
Date   Wed, 28 Jul 2010 13:47:57 -0600

Thanks Nick and Jeph. That's exatly what I needed.

Quoting Jeph Herrin <> Wed 28 Jul 13:26:41 2010:

The -list- directive is not working because you substracting
a string rather than a macro. You can either store "length" in
a separate macro and then substract that in your statement #2, or
instead try

  local nolength = subinstr("`main'","length","",.)


On 7/28/2010 3:11 PM, Thomas Speidel wrote:
I am writing a loop to cycle through a number of models. For example,

. sysuse auto
(1978 Automobile Data)

. local main mpg price weight

. local adjust length gear_ratio turn

. foreach c of local main {
2. local nolength: list adjust - "length"
3. logistic foreign `c' `adjust' if "`c'" != "weight"
4. logistic foreign `c' `nolength' if "`c'" == "weight"
5. }

Which fails on the second model. How do I modify `adjust' so that the
string "length" is removed from its content and applied to the second
set of models? In a less automated fashion, I want:

. logistic foreign mpg length gear_ratio turn
. logistic foreign price length gear_ratio turn
. logistic foreign weight gear_ratio turn

Preferrably, in this order. Creating another macro without "length" is
not ideal, because I am dealing with a much larger set of covariates.

*   For searches and help try:

Thomas Speidel

*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index