Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down at the end of May, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Francesco <cariboupad@gmx.fr> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: moving average.. conditioning on a date |

Date |
Mon, 5 Nov 2012 09:16:54 +0100 |

Dear Nick, Many thanks for your very interesting suggestion. Tsspell should do the job indeed However the condition I am interested in is slighly more complicated (at least for me) than the one I used in the above minimal example I would like to obtain a running sum of all X's observations that occur -at most- 30 days before the current date So the example I gave was correct 1 sep-7 1 2 because I only consider observations -at most - one day from the current observation .. that is sep 7th and sept 6th but not sept 5th because it is two days from sept 7th Do you know how to express this with Stata's lag operators? Many thanks again On 5 November 2012 01:48, Nick Cox <njcoxstata@gmail.com> wrote: > If I understand this correctly, Francesco wants running sums to be > calculated within spells of consecutive days, and separately by > panels. > > Identifying spells of consecutive dates is an FAQ > > FAQ . . . . . . Identifying runs of consecutive observations in panel data > . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox and V. Wiggins > 8/02 How do I identify runs of consecutive observations > in panel data? > http://www.stata.com/support/faqs/data-management/identifying-runs-of-consecutive-observations/ > > One solution covered there is to use -tsspell- from SSC > > . tsset id date > . tsspell, f(L.date == .) > . bysort id _spell (_seq) : gen Y = sum(X) if _spell > . by id _spell : gen aveY = Y/_seq > > Here I am guessing that the moving average required is running > sum/number in sequence > > I am also guessing that the example should end > > 1 sep-7 1 3 > > Note that unbalanced panels in no sense rule out the use of time > series operators. > > The -egen- function -filter()- is from -egenmore- (SSC). > > See also > > SJ-7-2 dm0029 . . . . . . . . . . . . . . Speaking Stata: Identifying spells > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox > Q2/07 SJ 7(2):249--265 (no commands) > shows how to handle spells with complete control over > spell specification > > > Nick > > On Sun, Nov 4, 2012 at 10:50 PM, Francesco <k7br@gmx.fr> wrote: > >> Many thanks for your suggestion but unfortunately it does not fit... >> movavg only computes moving average over the last n periods... which >> is not what I want >> >> In order to be more clear, my dataset looks like >> >> ID date X Y >> 1 jan-1 1 1 >> 1 feb-4 1 1 >> 1 feb-5 1 2 >> 1 sep-5 1 1 >> 1 sep-6 1 2 >> 1 sep-7 1 2 >> >> Here Y is the running sum of X for values of X that occur at most 1 >> days before the current observation ... >> Is there a way to obtain this variable (and a moving average version too) ? > > On 4 November 2012 23:35, Steve Samuels <sjsamuels@gmail.com> wrote: > >>> Sorry for the typo: The command is -movavg-. If you download it and read >>> the -help-, you will see that it does not require balanced panels. > > On Nov 4, 2012, at 5:24 PM, Francesco wrote: > >>> Well, Thank you for your kind suggestion (I already checked tssmooth >>> and egen filter) but I cannot find what I am looking for (in >>> particular for the running sum) >>> As the panel is unbalanced, I think I cannot use the L. operator ... > > On 4 November 2012 22:51, Steve Samuels <sjsamuels@gmail.com> wrote: > >>>> The Statalist archives are not a good place to look for >>>> commands. Try -findit- first. "findit moving average" would >>>> have turned up -movag- at SSC. If -findit- had not been successful. >>>> then a second step would have been to Google "Stata moving average". > > On Nov 4, 2012, at 3:58 PM, Marco Francesco wrote: > >>>> I looked into the archives, and still I am not sure how to proceed : >>>> >>>> I have a panel dataset (id - day) and I would like to obtain a variable X that keeps the running sum (or the average) of variable Y's observations that occur in a given moving time window : that is between today's observation date and (today's observation date - X) where X is fixed. > > * > * 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/

**Follow-Ups**:**Re: st: moving average.. conditioning on a date***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: moving average.. conditioning on a date***From:*"Marco Francesco" <cariboupad@gmx.fr>

**Re: st: moving average.. conditioning on a date***From:*Steve Samuels <sjsamuels@gmail.com>

**Re: st: moving average.. conditioning on a date***From:*Francesco <cariboupad@gmx.fr>

**Re: st: moving average.. conditioning on a date***From:*Steve Samuels <sjsamuels@gmail.com>

**Re: st: moving average.. conditioning on a date***From:*Francesco <k7br@gmx.fr>

**Re: st: moving average.. conditioning on a date***From:*Nick Cox <njcoxstata@gmail.com>

- Prev by Date:
**Re: st: moving average.. conditioning on a date** - Next by Date:
**Re: st: recording the first/last non-missing/missing values position** - Previous by thread:
**Re: st: moving average.. conditioning on a date** - Next by thread:
**Re: st: moving average.. conditioning on a date** - Index(es):