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: Generating a new date variable from another date variable
From
Pinaki Mitra <[email protected]>
To
[email protected]
Subject
Re: st: Generating a new date variable from another date variable
Date
Tue, 5 Mar 2013 09:27:34 -0500
Thank you both Josheph Coveney, Nick Cox. I appreciate your kind
attention to this problem and proposed detail solution.
On Mon, Mar 4, 2013 at 5:29 AM, Nick Cox <[email protected]> wrote:
> Joseph Coveney has expanded in detail on my suggestion. Here is
> another way to think about it.
>
> 1. If a week ends on Saturday, it starts on the previous Sunday.
> Either way, we can classify weeks by the days that start or end them.
>
> 2. Sunday starts are a little easier to deal with because -dow()-
> evaluates to 0.
>
> 3. The mapping from daily date to the previous Sunday is just
>
> . gen WeekStart = DailyDate - dow(DailyDate)
>
> and this works for the Sunday itself as we are just subtracting 0.
>
> 4. It is then simply
>
> . gen WeekEnd = WeekStart + 6
>
> 5. You can combine the two in one statement.
>
> See also for more discussion
>
> SJ-12-3 dm0065 . . . . . . . . . . Stata tip 111: More on working with
> weeks
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J.
> Cox
> Q3/12 SJ 12(3):565--569 (no
> commands)
> discusses how to convert data presented in yearly and weekly
> form to daily dates and how to aggregate such data to months
> or longer intervals
>
> SJ-10-4 dm0052 . . . . . . . . . . . . . . . . Stata tip 68: Week
> assumptions
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J.
> Cox
> Q4/10 SJ 10(4):682--685 (no
> commands)
> tip on Stata's solution for weeks and on how to set up
> your own alternatives given different definitions of the
> week
>
>
>
>
> On Sat, Mar 2, 2013 at 7:37 PM, Pinaki Mitra <[email protected]> wrote:
>> I need to be able to keep all observations. All I need to do is to
>> assign "Saturday" for variable weekend for all observations in any
>> given week. So, for the 1st week of 2006, observations for DailyDate
>> with values 01/01/06, 01/02/06, 01/03/06, 01/04/06, 01/05/06,
>> 01/06/06, 01/07/06 will have a value of 01/07/06 (which is Satusday)
>> for the variable weekend. It will look like:
>>
>> DailyDate(original variable) WeekendDate (Want to generate)
>> 01/01/2006 01/07/2006
>> 01/03/2006 01/07/2006
>> 01/04/2006 01/07/2006
>> 01/05/2006 01/07/2006
>> 01/06/2006 01/07/2006
>> 01/07/2006 01/07/2006
>>
>> I am not sure how to do this with dow() function.
>>
>> On Sat, Mar 2, 2013 at 11:14 AM, Nick Cox <[email protected]> wrote:
>>> There is no need for any kind of loop here. Use the -dow()- function and
>>> check for the days of the week you do or don't want.
>
> On 2 Mar 2013, at 15:14, Pinaki Mitra <[email protected]> wrote:
>
>>>> I have a data variable where each observation is different dates of
>>>> 2006 to 2012. I need to summarize this data by weekend (each Saturday
>>>> of each week). I attempted to generate a new date variable (weekend)
>>>> and collapse the data by weekend. But I am having difficulty in
>>>> generating the weekend variable from the actual date variable.
>>>> For example,
>>>> DailyDate(original variable) WeekendDate (Want to generate)
>>>> 01/01/2006 01/07/2006
>>>> 01/03/2006 01/07/2006
>>>> 01/04/2006 01/07/2006
>>>> 01/05/2006 01/07/2006
>>>> 01/06/2006 01/07/2006
>>>> I tried:
>>>> local stdate1:di %dN/D/Y (date("01/01/2006","MDY"))
>>>> local enddate1:di %dN/D/Y (date("12/31/2012","MDY"))
>>>> gen WndDate=date("01/01/2006","MDY"); format WndDate %dN/D/Y;
>>>> while `stdate1'<=`enddate1'{;
>>>> replace WndDate=`stdate1'+6 if DailyDate>=`stdate1' &
>>>> DailyDate<=`stdate1'+6;
>>>> local stdate1=`stdate1'+6;
>>>> };
> *
> * 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/