<>
You want your admdate to be numeric for sure. You could then -sort- within
id and take the first and last value. A more general solution is:
**************
clear*
inp id str10 admdate
1 12may06
1 20jun06
1 30aug06
2 10may06
2 10sep06
2 20dec06
2 10jan07
3 10aug06
3 20sep06
3 10dec06
3 15jan07
3 10feb07
end
compress
gen date=date(admdate, "DM20Y")
format date %tdMonth_DD,_CCYY
list, noobs
tempvar min max
bys id: egen `min'=min(date)
bys id: egen `max'=max(date)
bys id: gen byte mindate=date==`min'
bys id: gen byte maxdate=date==`max'
list, noobs sepby(id)
**************
HTH
Martin
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Thomas Cars
Sent: Sonntag, 27. September 2009 14:18
To: [email protected]
Subject: st: Identify min and max observations
Hi,
I have a dataset including subjects (id) and date for administration
of a specific drug (adm.date)
I now want to construct a variable telling me which one of the
observations (adm.date) in each subject (id) that has the lowest date
(min) and the highest date(max).
The number of adm.date can vary in each subject from 1 to 10.
Example (min=1 och max=2)
Id adm.date min/max
1 12may06 1
1 20jun06
1 30aug06 2
2 10may06 1
2 10sep06
2 20dec06
2 10jan07 2
3 10aug06 1
3 20sep06
3 10dec06
3 15jan07
3 10feb07 2
And so on?
I hope anyone can help me!
Thomas
*
* 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/