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: elapsed time between incidents

 From Steven Archambault To statalist@hsphsun2.harvard.edu Subject Re: st: elapsed time between incidents Date Tue, 19 Feb 2013 14:34:40 -0700

```Okay, thanks for this. I apologize for not finding the tip prior to
posting. My chosen search words were off!

On Tue, Feb 19, 2013 at 2:08 PM, Nick Cox <njcoxstata@gmail.com> wrote:
> This kind of problem was discussed in my posts
>
> http://www.stata.com/statalist/archive/2011-01/msg00999.html
>
> http://www.stata.com/statalist/archive/2012-08/msg00633.html
>
> and in a Tip
>
> Cox, N.J. 2011. Stata tip 101: Previous but different. Stata Journal
> 11(3): 472-473.
>
> No doubt there are other references.
>
> Here's some code:
>
> . clear
>
> . input id day incident
>
>             id        day   incident
>   1.  1  1      6
>   2.  1   2     .
>   3.  1   3     .
>   4.  1  4      .
>   5.  1   5     8
>   6.  1   6     .
>   7.  1   7     5
>   8. end
>
> . bysort id (day): gen prev = day[_n-1] if incident[_n-1] < .
> (5 missing values generated)
>
> . by id: replace prev = prev[_n-1] if missing(prev)
>
> . gen elapsed = day - prev if incident < .
> (5 missing values generated)
>
> . l, sep(0)
>
>      +--------------------------------------+
>      | id   day   incident   prev   elapsed |
>      |--------------------------------------|
>   1. |  1     1          6      .         . |
>   2. |  1     2          .      1         . |
>   3. |  1     3          .      1         . |
>   4. |  1     4          .      1         . |
>   5. |  1     5          8      1         4 |
>   6. |  1     6          .      5         . |
>   7. |  1     7          5      5         2 |
>      +--------------------------------------+
>
> The nub of the matter is that the previous event can be picked up in
> the following observation for the same identifier. After that we just
> copy down as required in a cascade.
>
> FAQ     . . . . . . . . . . . . . . . . . . . . . . . Replacing missing values
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
>         2/03    How can I replace missing values with previous or
>                 following nonmissing values?
>                 http://www.stata.com/support/faqs/data/missing.html
>
> -by:- makes doing this by panels no more difficult than doing it if
> there were no panels.
>
> Steve said non-zero, but his example implies non-missing; whatever the
> exact condition is can no doubt be substituted easily.
>
> Nick
>
> On Tue, Feb 19, 2013 at 8:45 PM, Steven Archambault
> <archstevej@gmail.com> wrote:
>
>> I have unbalanced panel data where an incident (measured by a non-zero
>> value) occurs randomly in the panel. I want to calculate the time
>> (days_elapsed) between incidents. Here is an example:
>>
>> id day incident days_elapsed
>> 1  1      6             .
>> 1   2     .              .
>> 1   3     .              .
>> 1  4      .              .
>> 1   5     8             4
>> 1   6     .              .
>> 1   7     5             2
>>
>> Thanks for any help here.  I have not been able to find this.
> *
> *   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/
```