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: Lag operators on panel data inside -bysort-
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: Lag operators on panel data inside -bysort-
Date
Mon, 29 Oct 2012 22:34:51 +0000
Naturally you can use variable names with subscripts on the RHS of
-generate- and -replace-. But that's because they are both
expressions, not because they have the same status.
On Mon, Oct 29, 2012 at 10:29 PM, Richard Herron
<[email protected]> wrote:
> Thanks for explanation. That subscripts aren't equivalent to variable
> names is the concept that I'm missing. Whenever I generate additional
> variables I suspect that I'm doing something wrong, but here it's the
> best (only) approach.
>
> On Mon, Oct 29, 2012 at 2:53 PM, Nick Cox <[email protected]> wrote:
>> Working backwards from the bottom:
>>
>> 1. Variable names with subscripts are not acceptable within Stata as
>> equivalent to variable names.
>>
>> 2. The previous -regress- doesn't work because the sort order implied
>> by a reference to L.invest is -sort company year- which clashes with
>> the -sort- order you are asking for.
>>
>> 3. -xtile()- is an -egen- function that must be installed from
>> -egenmore- (SSC), as you are asked to explain.
>>
>> I think to do what you are asking then, as you say, you need to step
>> outside the framework of -tsset- by
>>
>> tsset company year
>> gen previnvest = L.invest
>> bysort invest_q : regress mvalue previnvest
>>
>> but even then what sense does this make unless exceptionally companies
>> don't change between quantile categories?
>>
>> Nick
>>
>>
>> On Mon, Oct 29, 2012 at 3:02 PM, Richard Herron
>> <[email protected]> wrote:
>>
>>> I would like to use lag operators on panel data inside a -bysort-
>>> command, but I get the -not sorted- error. For example, using the
>>> following data,
>>>
>>> *
>>> webuse grunfeld, clear
>>> xtset company year
>>>
>>> * generate quantiles with -xtile- from -egenmore- (SSC)
>>> egen invest_q = xtile(invest), by(year)
>>> *
>>>
>>> neither of the following two lines work.
>>>
>>> *
>>> bysort invest_q: regress mvalue l.invest
>>> bysort invest_q (company year): regress mvalue invest[_n-1]
>>> *
>>>
>>> I thought -xtset-'s effects were persistent, but the error makes
>>> sense. Is there an elegant solution? (It would be nice to be able to
>>> use lag operators on the fly.) Or is the best option to generate
>>> lagged variables as follows.
>>>
>>> *
>>> generate linvest = l.invest
>> *
>> * 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/