It's easy if you put dates in the right format... see -help dates- and
-help date functions-
gen date=date(dstr,"dmy")
format date %d
gen inwindow=date>=mdy(4,1,2003) & date<mdy(6,1,2003)
egen anyinw=max(inwi), by(id)
li, noo
+----------------------------------------------------------------+
| id dstr type date inwindow anyinw |
|----------------------------------------------------------------|
| 1 01-01-2003 Successful 01jan2003 0 1 |
| 1 01-05-2003 Successful 01may2003 1 1 |
| 2 01-03-2002 Deferred 01mar2002 0 0 |
| 2 31-12-2003 Unsuccessful 31dec2003 0 0 |
+----------------------------------------------------------------+
On 5/16/06, Hillgrove, Tessa (SA) <[email protected]> wrote:
My dataset is in the following format
ID Attend Date Type
1 01-01-2003 Successful
1 01-05-2003 Successful
2 01-03-2002 Deferred
2 31-12-2003 Unsuccessful
I have two "problems" with my dataset : (1) I have more subjects than I need
and (2) and a wider range of attendance dates than I need.
I am trying to identify subjects that had an appointment on any dates within
a two month range.
I will drop all respondents who do not.
Of the respondents that did have an appointment, I will need to only
consider attendance within a specific range (and drop the remainder).
Any ideas of how to do this?
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/