Statalist


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

st: RE: AW: RE: AW: finding date occurrences within a specified range, searching in multiple variables


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: AW: RE: AW: finding date occurrences within a specified range, searching in multiple variables
Date   Fri, 9 Oct 2009 18:51:17 +0100

Yes indeed. 

Nick 
n.j.cox@durham.ac.uk 

Martin Weiss

" In addition, check out -tin()- and -twithin()- which can lead to
simpler
code."

As implied by my pointer to -help time_series_functions-...

Nick Cox

If these are daily data, being later than 1 nov 2009 and earlier than 3
nov 2009 (which the code clearly implies) reduces to being equal to 2
nov 2009, so you just need a single equality. 

In addition, check out -tin()- and -twithin()- which can lead to simpler
code. 

Martin Weiss

You may also find -help time_series_functions- useful...

*************
clear
set obs 5
gen id = _n
gen date="11012009"
replace date="11022009" in 3
replace date="11032009" in 4
list date
generate t_date = date(date, "MDY")
generate t_anotherdate=t_date+2
format t_* %td

qui ds t_*

foreach var of varlist `r(varlist)'{
	gen byte seek`var' = `var' > td(1nov2009) & t_date <
td(3nov2009)
}

list, noobs 

*************

Michael McCulloch

I'm looking for events that all occurred within a specified date  
range, searching in multiple date fields. I've created the following  
example to show that I want to find all records where t_date is  
between 1nov2009 and 3nov2009.

This works fine, but is there a way to create a loop that would do  
this search within multiple date fields, all of which have field name  
beginning with "t_"?

clear
set obs 5
gen id = _n
gen date="11012009"
replace date="11022009" in 3
replace date="11032009" in 4
list date
generate t_date = date(date, "MDY")
format t_date %td
gen seek = cond((t_date > td(1nov2009) & t_date < td(3nov2009)), 1, 0)
sort seek
list id t_date seek if seek==1
list id t_date if (t_date > d(1nov2009) & t_date < d(3nov2009))

*
*   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   |   What's new   |   Site index