Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: getting Stata to read a bizarre sequence of dates


From   joales salbdralor <joalessakafiora@googlemail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: getting Stata to read a bizarre sequence of dates
Date   Wed, 13 Jun 2012 09:31:46 +0200

thanks Nick for your reply. you are right (as always) that  Stata can
read these   string dates and it is converting them to numeric dates.
The only problem that I have is how to avoid having the "with gaps"
comment, Put differently, how can I correct this problem?. Or is it ok
 by just issuing the previously mentioned commands,  that is:

gen edate1 = date(dates1, "DM20Y")
gen edate2 = floor(edate1/28)
tsset id edate2


Regarding your reasonable question why I am posting  mysteriously
similar questions is that I want to play around with different and
"bizarre" sequence of dates as this is the first step if I want to
start doing correct data/econometric analysis .



thank you very much again


On 6/13/12, Nick Cox <njcoxstata@gmail.com> wrote:
> You've posted numerous questions on this kind of data over the last
> few weeks, to which there have been numerous answers, so why you ask
> this question seems especially mysterious.
>
> First, Stata _is_ reading your string dates and it _is_ converting
> them to numeric dates. So the implication that Stata can't read these
> data is quite wrong.
>
> The only problem evident is that there is one gap in this dataset even
> when you restructure it as a series with spacing 28 days.
>
> So, what -tsset- reports is essentially "fair comment". There is a gap
> at 638 as the following reveals.
>
> . format edate1 %td
>
> . tab edate1
>
>      edate1 |      Freq.     Percent        Cum.
> ------------+-----------------------------------
>   23nov2008 |          2       14.29       14.29
>   28dec2008 |          2       14.29       28.57
>   25jan2009 |          2       14.29       42.86
>   22feb2009 |          2       14.29       57.14
>   29mar2009 |          2       14.29       71.43
>   26apr2009 |          2       14.29       85.71
>   24may2009 |          2       14.29      100.00
> ------------+-----------------------------------
>       Total |         14      100.00
>
> . tab edate2
>
>      edate2 |      Freq.     Percent        Cum.
> ------------+-----------------------------------
>         637 |          2       14.29       14.29
>         639 |          2       14.29       28.57
>         640 |          2       14.29       42.86
>         641 |          2       14.29       57.14
>         642 |          2       14.29       71.43
>         643 |          2       14.29       85.71
>         644 |          2       14.29      100.00
> ------------+-----------------------------------
>       Total |         14      100.00
>
> By the way, posting code that others can run is an excellent idea, but
> cut the -cd d:- which assumes that users have a d: drive, which may be
> quite wrong.
>
> Nick
>
> On Wed, Jun 13, 2012 at 12:37 AM, stef salvez <loggyedy@googlemail.com>
> wrote:
>
>> I have the following panel data set
>>
>>  clear all
>> cd d:\
>> input str8  (dates1)            id
>>  "23/11/08"         1
>> "28/12/08"          1
>>  "25/01/09"        1
>>  "22/02/09"         1
>> "29/03/09"         1
>>  "26/04/09"        1
>>  "24/05/09"        1
>>  "23/11/08"         2
>> "28/12/08"          2
>>  "25/01/09"        2
>>  "22/02/09"        2
>> "29/03/09"         2
>>  "26/04/09"        2
>>  "24/05/09"        2
>>
>> end
>>
>> the difference (in days)  between successive dates is 35 28 28 35 28 28
>>
>> The problem is that I do not know how to convert these string dates
>> into numeric variables given the fact that I have 2 jumps  (35 days)
>>  if i issue the commands
>>
>> gen edate1 = date(dates1, "DM20Y")
>> gen edate2 = floor(edate1/28)
>> tsset id edate2
>>
>> I get the following error message
>>
>> panel variable:  id (strongly balanced)
>>        time variable:  edate2, 637 to 644, but with gaps
>>                delta:  1 unit
>>
>> Is there any code that could fix that so as to get Stata to "read"
>> that "bizarre"sequence of dates?
>
> *
> *   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/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index