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, statalist.org is already up and running.


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

Re: st: using foreach in regression models


From   Nick Cox <njcoxstata@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: using foreach in regression models
Date   Tue, 25 Oct 2011 10:10:35 +0100

It's hard to see why the order of variables makes a difference to the
model fitted.

You should look at extended macro functions for list manipulation.
Start with -help macro-. The key is to have a local macro with
everything and subtract what you don't want each time.

On Tue, Oct 25, 2011 at 10:03 AM, Tim Evans <Tim.Evans@wmciu.nhs.uk> wrote:
> Hi all,
>
> I am running a number of logistic regression models (Stata 11.2), using the same dependant variable, but cycling through a number of independent variables to obtain 'unadjusted' regressions like such:
>
> xi: logit treatmentinsccnetre2 i.agegrp, iterate(10) or
> xi: logit treatmentinsccnetre2 i.NRCENT, iterate(10) or
> xi: logit treatmentinsccnetre2 i.id07, iterate(10) or
> xi: logit treatmentinsccnetre2 i.site_4, iterate(10) or
>
> I can condense this down to the following
>
> foreach v of varlist agegrp id07 NRCENT site_4 {
> xi: logit treatmentinsccnetre2 i.`v', iterate(10) or
> }
>
> This is fine, however, I also do want to run the analysis by introducing a range of other variables in order to 'adjust' for their effect. The list of variables will always be the same, but although the list is the same, some variables move around the list - if they are the variable of interest i.e:
>
>
> xi: logit treatmentinsccnetre2 i.agegrp i.NRCENT i.site_4 i.sex i.id07 i.yydx, iterate(10) or
> xi: logit treatmentinsccnetre2 i.NRCENT i.site_4 i.sex i.agegrp i.id07 i.yydx, iterate(10) or
> xi: logit treatmentinsccnetre2 i.id07 i.NRCENT i.site_4 i.sex i.agegrp i.yydx, iterate(10) or
> xi: logit treatmentinsccnetre2 i.site_4 i.sex i.agegrp i.id07 i.NRCENT i.yydx, iterate(10) or
>
> What I would like to do is use the loop I employ for the unadjusted model, but be able to use something like `v' in order to condense the code from the above.
>

*
*   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/


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