Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.

# Re: st: moving average.. conditioning on a date

 From Nick Cox To statalist@hsphsun2.harvard.edu Subject Re: st: moving average.. conditioning on a date Date Mon, 5 Nov 2012 00:48:55 +0000

```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).

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:

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