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]

From |
Nick Cox <njcoxstata@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: moving average of the last 55 time points |

Date |
Mon, 30 Jan 2012 10:34:20 +0000 |

Juan replied privately to me. As the Statalist FAQ explains, you should _not_ do this. I've reinstated the original exchange, without which the discussion makes little sense. Nick On Mon, Jan 30, 2012 at 10:10 AM, Juan J. Fernandez <jjfgonza@clio.uc3m.es> wrote:> > Dear Nick, > > > Thank you very much for your prompt response to my post! > > > > I just tried your suggestion, but I believe that it doesn’t solve the > problem, at least for my case. –egen , filter() – requires specifying the > concrete lags. So it can take the moving sum of a fixed set of previous > years (e.g. last 20 years). I don't understand what you are getting at here. There is no difference for a regular panel data setting which you implied in your first post. > The first problem is that it doesn´t calculate the average, but just the > sum. Hence I need the denominator, which is hard to define, because there > are some isolated missing country-years (so -g = _n- just takes all years, > not only those with a value in the IV). Not so. The -normalise- option gives you a mean. > The second problem is that –egen , filter() lag() – doesn’t prompt a value > if there are less effective values than the specified lags. For instance, if > I specify l(0/30) and for Angola there are no prior 30 values for this IV, > then egen doesn’t even provide any value for that country. It's not -egen- that makes that decision; it's -filter()-. It provides a missing value and the logic is that it can't do what you asked for. If you want it to do what it can with what is available, that was not specified in your original post. > The third problem is that I cannot combine -egen, filter()- with replace. > This means that I cannot produce a single variable with values obtained with > variable lags. You just need two commands, not one. -replace- some variable with the result of an -egen- calculation. As you can't combine -tssmooth- with -replace- in this sense either, this is standard in moving average calculations. > I guess I will have to find another solution. I think you would have got better advice if you had explained your requirements more fully. The technique in SJ-7-3 pr0033 . . . . . . . . . . . . . . Stata tip 51: Events in intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox Q3/07 SJ 7(3):440--443 (no commands) tip for counting or summarizing irregularly spaced events in intervals should be adaptable to your problem, whatever it is precisely. Nick Earlier: Nick Cox Check out -filter()- from -egenmore- (SSC). On Mon, Jan 30, 2012 at 8:45 AM, Juan Fernandez > I am trying to obtain moving averages that take into account the > previous 55 time points (in this case, years) in a panel data setting. > However I cannot find any Stata command that can solve the problem. To > my knowledge, -egen, ma()- doesn't do the trick because it cannot be > combined with -by-. Moreover, -tssmooth ma, window()- doesn't do it > either because it is limited in the number of lags it can consider. > > Is there any way to calculate a moving average for each case that > takes into account the last 55 time data points (even if there are > some isolated missings in a few years)? > > The data structure is as follows: > > Country Year IV > 1 1945 20 > 1 1946 33 > ... ... ... > 1 2000 36 > 2 1945 31 > 2 1946 27 > ... ... ... > 2 2000 29 > * * 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/

- Prev by Date:
**Re: st: clogit for discrete choice experiment with multiple choice sets** - Next by Date:
**RE: st: New program - snpgrab** - Previous by thread:
**Re: st: moving average of the last 55 time points** - Next by thread:
**st: Testing the extent of difference between two coefficients in the same model** - Index(es):