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: Counting using a rolling time window
From
"Louis, Philippe" <[email protected]>
To
"[email protected]" <[email protected]>
Subject
RE: st: Counting using a rolling time window
Date
Thu, 12 May 2011 12:26:36 +0000
Thank you! Your suggestion works perfectly.
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
Sent: Tuesday 10 May 2011 3:49 PM
To: [email protected]
Subject: Re: st: Counting using a rolling time window
I imagine your example is to be taken with the correction that the first 1997m8 should be 1997m7. I suggest
bysort id (time) : gen count = sum(action) - sum(action[_n-3])
See also comments in
<http://www.hsph.harvard.edu/cgi-bin/lwgate/STATALIST/archives/statalist.1105/date/article-397.html>
on the expression "a code", which I warn against.
Nick
On Tue, May 10, 2011 at 2:12 PM, Louis, Philippe <[email protected]>
> I have the following problem. My dataset contains an id-number, a time variable measured in months, and a binary variable indicating action or no action. The time frame is not the same for each person (i.e. id 1 is monitored between January 2000 and May 2000, id 2 between August 1997 and October 1997, etc.). The action variable records whether an action happened during that month or not.
>
> I would like to create a new variable that counts the number of positive actions (i.e. action variable equal to 1). More specifically, I am looking for a code that would loop through the dataset and that would count the number of action==1 using a three months' time window (i.e. current month + 2 previous months), resetting the counter at every new id. If less than three months are available, the loop should just count the number of action==1 of the available months.
>
> An example:
> Id time action count
> 1 2000m1 1 1
> 1 2000m2 1 2
> 1 2000m3 1 3
> 1 2000m4 0 2
> 1 2000m5 0 1
> 2 1997m8 0 0
> 2 1997m8 1 1
> 2 1997m9 0 1
> 2 1997m10 1 2
>
> I have been struggling for a while to write a code that would generate the count variable.
>
> Any help or suggestions would be appreciated.
*
* 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/
*
* 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/