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: converting series of dates to numeric variable
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: converting series of dates to numeric variable
Date
Wed, 23 May 2012 20:58:24 +0100
For one date it scarcely matters so long as you keep a record of what
you did to your data.
Nick
On Wed, May 23, 2012 at 8:28 PM, loggyedr salvez
<[email protected]> wrote:
> Dear Nick, thank you so much for your reply.
>
> Yes, now it works
>
>
> . tsset identif2 edate2
> panel variable: identif2 (strongly balanced)
> time variable: edate2, 637 to 675
> delta: 1 unit
>
>
> Using the function mod to check for equally spaced dates I realized
> that one date does not give the same remaider (2) as the rest of the
> dates. I assume that the best approach is to open the data file and
> change manually that date (by some days) so as to fix the problem. Am
> I correct or is there any other more "advanced approach"
>
> thank you again
>
> On 5/23/12, Nick Cox <[email protected]> wrote:
>> But you need to check that your dates really are equally spaced. You
>> can use -mod(,)- for that purpose.
>>
>> . di mod(date("1 Nov 2009", "DMY"), 28)
>> 2
>>
>> . di mod(date("29 Nov 2009", "DMY"), 28)
>> 2
>>
>> All equally spaced dates have the same remainder.
>>
>> For more on -mod(,)- see
>>
>> SJ-7-1 pr0031 . Stata tip 43: Remainders, selections, sequences,
>> extractions
>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J.
>> Cox
>> Q1/07 SJ 7(1):143--145 (no
>> commands)
>> tip for uses of the modulus
>>
>> For more on -floor()- and -ceil()- see
>>
>> SJ-3-4 dm0002 . . . . . . . . Stata tip 2: Building with floors and
>> ceilings
>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J.
>> Cox
>> Q4/03 SJ 3(4):446--447 (no
>> commands)
>> tips for using floor() and ceil()
>>
>> Nick
>>
>> On Wed, May 23, 2012 at 10:19 AM, Nick Cox <[email protected]> wrote:
>>> Yes, it should be mildly alarming, as it shows that you are trying
>>> something which is inappropriate for you. But you can fix that.
>>>
>>> The -date()- function converts to daily dates. That is its job. In
>>> terms of daily dates, the resolution of your data (delta) is one day
>>> and you have (lots of) gaps. Stata doesn't look out for equally spaced
>>> dates in what it sees as gappy time series.
>>>
>>> In your case I would recommend working with -floor(edate1/28)- as a
>>> time variable, which gives equally spaced dates with 28 days as an
>>> interval. Using -int()- or -ceil()- instead of -floor()- would work as
>>> well. For example,
>>>
>>> . di floor(date("1 Nov 2009", "DMY")/28)
>>> 650
>>>
>>> . di floor(date("29 Nov 2009", "DMY")/28)
>>> 651
>>>
>>> So go
>>>
>>> gen edate2 = floor(edate1/28)
>>> tsset identif2 edate2
>>>
>>> Nick
>>>
>>> On Wed, May 23, 2012 at 10:07 AM, loggyedr salvez
>>> <[email protected]> wrote:
>>>
>>>> I have observations every 4 weeks (4-week period data).
>>>>
>>>> In the excel.csv file i format the cells for the date column as follows
>>>>
>>>> dates11 identier variable
>>>> November 1, 2009 1
>>>> November 29, 2009 1
>>>> December 27, 2009 1
>>>> January 31, 2010 1
>>>> November 1, 2009 2
>>>> November 29, 2009 2
>>>> December 27, 2009 2
>>>> January 31, 2010 2
>>>>
>>>> and then I use the commads:
>>>>
>>>> gen edate1 = date(dates11, "MDY")
>>>> format edate1 %d
>>>> tsset identifier edate1
>>>>
>>>>
>>>>
>>>> and I get the following stata message:
>>>>
>>>> tsset identif2 edate1
>>>> panel variable: identif2 (strongly balanced)
>>>> time variable: edate1, 02nov2008 to 09oct2011, but with gaps
>>>> delta: 1 day
>>>>
>>>>
>>>> Is this message something alarming? why "gaps"? and why delta "1 day"
*
* 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/