Statalist


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

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


From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   st: AW: RE: AW: finding date occurrences within a specified range, searching in multiple variables
Date   Fri, 9 Oct 2009 19:43:08 +0200

<> 


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



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



HTH
Martin

-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Nick Cox
Gesendet: Freitag, 9. Oktober 2009 18:37
An: [email protected]
Betreff: st: RE: AW: finding date occurrences within a specified range,
searching in multiple variables

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. 

Nick 
[email protected] 

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/


*
*   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–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index