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]
st: RE: AW: Regressing and storing residuals in one line.
From
"Nick Cox" <[email protected]>
To
<[email protected]>
Subject
st: RE: AW: Regressing and storing residuals in one line.
Date
Mon, 28 Jun 2010 11:55:54 +0100
Such residuals have rather poorly defined properties, but let's set that
on one side.
A single variable can be obtained through a minor variation on Martin's
recipe:
sysuse auto, clear
qui levelsof rep78
gen residual = .
foreach lev in `r(levels)'{
tempvar foo
qui regress price weight length if rep78==`lev'
predict `foo', res
replace residual = `foo' if rep78 == `lev'
drop `foo'
}
Nick
[email protected]
Martin Weiss
Just loop through the thing:
*************
sysuse auto, clear
qui levelsof rep78
foreach lev in `r(levels)'{
qui regress price weight length if rep78==`lev'
predict res`lev', res
}
*************
Dani Tilley
I'm trying to run several regressions (one for each level of a
categorical
variable) and store the residuals from each regression in a local macro
or
new
variable I could later manipulate. I figured I could use:
bysort category: regress y x1 x2
to run the regressions, but I need a second line of code (predict name,
residuals) to get the residuals when bysort allows only one. Is there a
way
around this?
*
* 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/