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: Get list of non-omitted variables after a regression
From
Joe Canner <[email protected]>
To
"[email protected]" <[email protected]>
Subject
RE: st: Get list of non-omitted variables after a regression
Date
Mon, 10 Mar 2014 14:34:37 +0000
Sorry, my solution only allows for variable names with alphabetic characters. Since we don't have to make any assumptions about the validity of the characters following the "o." in a list of variable names, we can do the following:
. local n = regexr("`n'","o\..+","")
(For those trying to learn about regular expressions: the "\." tells the function to look for a literal period and the ".+" tells the function to look for one or more characters after the "o.")
Note: While testing this solution on categorical variables omitted because of perfect prediction in a logistic regression, I found that the problem becomes even more complicated. For example:
. sysuse auto, clear
. // Generate a categorical variable where one strata perfectly predicts the outcome
. gen x=recode(_n,25,50,75)
. replace x=foreign if x==50
. logistic foreign price x // Silly example
. local n : colnames e(b)
. di "`n'"
// Output is: price 0b.x 25o.x 75o.x _cons
. local n = regexr("`n'","[0-9]+o\..+","") // Also get rid of category values before the "o."
. di "`n'"
I'm sure there are other situations that I am missing here, so caveat emptor...
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Joe Canner
Sent: Monday, March 10, 2014 10:09 AM
To: [email protected]
Subject: RE: st: Get list of non-omitted variables after a regression
I interpreted Ludovico's question to refer to variables omitted because of collinearity or perfect prediction, but I didn't have a chance at the time to test a solution. Building on Paul's solution, one would have to look for variables in the regression matrix that start with "o.". For example,
. sysuse auto, clear
. gen length1=length
. regress price displacement foreign weight length length1 // Purposely putting two identical variables in so that one will be omitted
. local n : colnames e(b)
. di "`n'"
. local n = regexr("`n'","o\.[a-zA-Z]+","") // remove any variables starting with "o."
. di "`n'"
Joe Canner
Johns Hopkins University School of Medicine
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Seed, Paul
Sent: Monday, March 10, 2014 9:47 AM
To: [email protected]
Subject: Re: st: Get list of non-omitted variables after a regression
The simplest solution is to get the column names off the regression matrix.
*********** Start Stata code ***************
sysuse auto, clear
stepwise , pe(0.05) : regress price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign
local n : colnames e(b)
di "`n'"
* If you want to lose the constant...
local c _cons
local n : list n-c
di "`n'"
* Note, I am using macro extended functions to avoid silent, automatic
* truncation of macros at 245 characters whenever "=" occurs.
*********** End Stata code ******************
Paul T Seed, Women's Health, KCL
> Date: Sat, 8 Mar 2014 16:30:49 -0600
> From: Scott Merryman <[email protected]>
> Subject: Re: st: Get list of non-omitted variables after a regression
>
> See - _rmcoll , forcedrop -
>
> Scott
>
>
> On Sat, Mar 8, 2014 at 3:38 PM, Ludovico Zaraga
> <[email protected]> wrote:
> > Hello,
> >
> > Is there a simple way of getting a list (in the form of a macro) of
> > non-omitted variables after running a regression in Stata? I am using
> > a very large number of variables, so I can't do this by hand.
> >
> > Thanks,
> >
> > Ludovico
*
* 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/