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]
st: AW: AW: converting varying formats of string dates into Stata dates
From
"Martin Weiss" <[email protected]>
To
<[email protected]>
Subject
st: AW: AW: converting varying formats of string dates into Stata dates
Date
Thu, 29 Jul 2010 16:58:52 +0200
<>
Upon further consideration: Need to be more careful. BTW, any other date
-format-s can pose new and unexpected problems, so check after each change
whether what is happening to the data is in your best interest:
*************
clear*
inp str9 todate1
"30-Jun-99"
"10/15/99"
"4/15/1998"
"4/15/1998"
"8/15/1998"
"3/15/00"
"6/1/1998"
"6/1/1998"
"1-MAR-00"
"1-MAR-00"
"1-MAR-00"
"1-MAR-00"
"02/15/98"
"12/01/98"
"1-AUG-00"
"8/15/1998"
"8/15/1998"
"6/30/1998"
"6/30/1998"
"7/1/1999"
end
//clean dates
split todate1, parse(- /)
destring todate13, replace
replace todate13=2000+todate13 if inrange(todate13, 0, 10)
replace todate13=1900+todate13 if inrange(todate13, 90, 99)
//get newdate and turn into Stata date
replace todate1=todate11+"/"+todate12+"/"+string(todate13)
drop todate1?
gen mydate=date(todate1, "DMY", 1990)
//separate into good and bad dates
separate todate1, by(mi(mydate))
//replace with new strategy the missing ones
replace mydate=date(todate11, "MDY", 1990) if mi(mydate)
drop todate??
form mydate %tdMon_DD,_CCYY
list, noo
*************
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Martin Weiss
Gesendet: Donnerstag, 29. Juli 2010 16:39
An: [email protected]
Betreff: st: AW: converting varying formats of string dates into Stata dates
<>
You can peel this off one by one using -separate- with an expression:
*************
clear*
inp str9 todate1
"30-Jun-99"
"10/15/99"
"4/15/1998"
"4/15/1998"
"8/15/1998"
"3/15/00"
"6/1/1998"
"6/1/1998"
"1-MAR-00"
"1-MAR-00"
"1-MAR-00"
"1-MAR-00"
"02/15/98"
"12/01/98"
"1-AUG-00"
"8/15/1998"
"8/15/1998"
"6/30/1998"
"6/30/1998"
"7/1/1999"
end
gen mydate=date(todate1, "MD20Y")
//weed out the ones still missing
separate todate1, by(mi(mydate))
list, noo
*************
Then it is on to the next set of problematic dates...
HTH
Martin
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Kate Rohrbaugh
Gesendet: Donnerstag, 29. Juli 2010 16:22
An: [email protected]
Betreff: st: converting varying formats of string dates into Stata dates
Greetings Statalist:
First, I hope my attempts at removing the HTML text were successful. If
not, apologies in advance.
Second I have several fields that have dates in all sorts of manner, for
example (and there are more types, like mar-01-2000, this is just a
smattering):
. l2 todate1 in 1/20
+-----------+
| todate1 |
|-----------|
| 30-Jun-99 |
| 10/15/99 |
| 4/15/1998 |
| 4/15/1998 |
| 8/15/1998 |
|-----------|
| 3/15/00 |
| 6/1/1998 |
| 6/1/1998 |
| 1-MAR-00 |
| 1-MAR-00 |
|-----------|
| 1-MAR-00 |
| 1-MAR-00 |
| 02/15/98 |
| 12/01/98 |
| 1-AUG-00 |
|-----------|
| 8/15/1998 |
| 8/15/1998 |
| 6/30/1998 |
| 6/30/1998 |
| 7/1/1999 |
+-----------+
Is there an ado-file or function out there that can help fix this? We have
something called chgdate, but it assumes that all the variables are in
"xx/xx/xxxx" format and drops everything else. My goal is to have 1
variable that has a date in the Stata date format.
Thank you!
Kate
Kate Rohrbaugh
Research Team Leader
Research and Special Studies
Independent Project Analysis, Inc.
44426 Atwater Drive
Ashburn, VA 20147
direct - 703.726.5465
front desk - 703.729.8300
fax - 703.729.8301
email - [email protected]
website - www.ipaglobal.com
*
* 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/
*
* 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/