st: re: fw: question

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

st: re: fw: question

Christopher F Baum
< >
Marjan asked

levelsof id, local(ID)

foreach I of local ID {
        hprescott myvar if id == `I', stub(foo)
}

egen foo = rowmax(foo*_*)


This code shouldn't run at all (beyond the first ID) because it will  
try to reuse the same variable names for each ID. You need to make the  
stubs vary by ID, like

stub(foo`i')

You will then get foo1.., foo2...,  etc. and you can use the rowmax  
trick on them.


Kit Baum, Boston College Economics and DIW Berlin
http://ideas.repec.org/e/pba1.html
An Introduction to Modern Econometrics Using Stata:
http://www.stata-press.com/books/imeus.html


*
*   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/
Reply | Threaded
Open this post in threaded view
|

st: RE: re: fw: question

Nick Cox
Thanks to Kit for spotting the foolish error. If you used I as index,
you should use foo`I' within the loop.

Nick
[hidden email]

Kit Baum

Marjan asked

levelsof id, local(ID)

foreach I of local ID {
        hprescott myvar if id == `I', stub(foo)
}

egen foo = rowmax(foo*_*)


This code shouldn't run at all (beyond the first ID) because it will  
try to reuse the same variable names for each ID. You need to make the  
stubs vary by ID, like

stub(foo`i')

You will then get foo1.., foo2...,  etc. and you can use the rowmax  
trick on them.

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