Bookmark and Share

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: Duration data- count number of spells with ref to current spell


From   Roberto Ferrer <[email protected]>
To   Stata Help <[email protected]>
Subject   Re: st: Duration data- count number of spells with ref to current spell
Date   Tue, 27 Aug 2013 00:31:27 +0100

My browser didn't update appropriately. Last post got in late.

Bests,
Roberto

On Tue, Aug 27, 2013 at 12:27 AM, Roberto Ferrer <[email protected]> wrote:
> Nick's is better, of course:
>
> *----------------------- input --------------------------------
> clear
> input person eventStart str20 eventType
> 1                  10                  work
> 1                  14                  lunch
> 1                  15                  work
> 1                  16                  work
> 1                  33                  shopping
> 1                  34                  shopping
> end
>
> *----------- what you want ----------------------------
>
> gen dum = 1 if eventType == "work"
> gen cumact = sum(dum)
> gen before = cumact[_n-1]
> gen after = cumact[_N] - cumact
> replace before = 0 if _n == 1
>
> list
>
> On Mon, Aug 26, 2013 at 11:43 PM, Roberto Ferrer <[email protected]> wrote:
>> This works with your example. Add -by- when generalizing to multiple
>> person case.
>>
>> * ------------------------------ input---------------------------------
>>
>> clear
>> input person eventStart str20 eventType
>> 1                  10                  work
>> 1                  14                  lunch
>> 1                  15                  work
>> 1                  16                  work
>> 1                  33                  shopping
>> 1                  34                  shopping
>> end
>>
>> *-------------------- what you want---------------------------------
>>
>> gen dum =1 if eventType == "work"
>> gen before = sum(dum) -1
>> replace before = before + 1 if dum == .
>>
>> egen tot = max(before)
>> gen after = tot - before - 1
>> replace after = after + 1 if dum == .
>>
>> *---------------------clean up-----------------------------
>> drop dum tot
>> list
>>
>> On Mon, Aug 26, 2013 at 10:01 PM, Sriram Narayanamoorthy
>> <[email protected]> wrote:
>>> Hi Nick,
>>>
>>> Thanks for the response. Though, I am not quite sure I understand the
>>> solution. Is the variable "activity" in your toy dataset is the
>>> eventType I referred to in my question or is it something else. I
>>> think your approach would give me the net time spend in other
>>> activities before current activity (or time remaining to spend). What
>>> I want to do is count the number of activity of a particular type.
>>>
>>> I have provided an example below:
>>>
>>> person          eventStart       eventType
>>> 1                  10                  work
>>> 1                  14                  lunch
>>> 1                  15                  work
>>> 1                  16                  work
>>> 1                  33                  shopping
>>> 1                  34                  shopping
>>>
>>>
>>> The dataset is sorted in person and eventStart. Say, I want to count
>>> the number of "work" events before and after the current event - based
>>> on the eventStart variable. This would be my output. For, example for
>>> the lunch tour, I have 1 work tours before time period 14 and 2 work
>>> tours after time period 14.
>>>
>>> person   eventStart             eventType           numWorkBefore
>>>          numWorkAfter
>>> 1                  10                  work                  0
>>>                            2
>>> 1                  14                  lunch                 1
>>>                            2
>>> 1                  15                  work                  1
>>>                            1
>>> 1                  16                  work                  2
>>>                            0
>>> 1                  33                  shopping            3
>>>                          0
>>> 1                  34                  shopping            3
>>>                          0
>>>
>>> Please let me know if I am misunderstanding your solution.
>>>
>>> Thanks,
>>> -Sriram
>>> *
>>> *   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index