Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: nested loops for calculating a population 'at risk'


From   "Hulley, Benjamin (NIH/NCI)" <hulleyb@mail.nih.gov>
To   "'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu>
Subject   st: RE: nested loops for calculating a population 'at risk'
Date   Tue, 7 Sep 2004 10:32:16 -0400

I may be misunderstanding your data structure, but is this close to what you
want?

Let:
concept = pregnancy start date (needs to be a stata date)
current = the date for which you want the range 
lower = lower bound of stage of pregnancy in days
upper = upper bound of stage of pregnancy in days 

So in Stata:
local lower = 169
local upper = 259
local current = date("1/1/1988","dmy")
gen length = `current' - concept
count if length >= `lower' & length <= `upper'

-Ben

*******************
NCI/DCEG/GEB
Room: EPS 7007
Tel: (301) 402-1622
Fax: (301) 402-4489


Sue Lee wrote:
> hello,
> 
> i'm not exactly new to the list, but i've never posted a question before.
> i'm really stuck at the moment so i'm hopeful that someone may be able to
> help...  
> 
> basically, i have a large data set of births from 1 jan 1988 to 31 dec
> 2000.  each birth has its own record.  i would like to calculate the
> number of women at a certain stage of pregnancy on any given day, say
> between 24 and 37 weeks (which equals 168 to 259 days).  
> 
> so, for example, to calculate the number of women on 1 Jan 1988 who are
> at this stage of pregnancy, I figure I need to: include all women on that
> day who are greater than 167 days, but less than 259 days + all women on
> 2 Jan 1988 who are more than 168 days but less than 260  
> days
> + all women on 3 Jan 1988 who are more than 169 days but less than 261
> days
> + all women on 4 Jan 1988 who are more than 170 days but less than 262
> days,
> etc   (repeat loop until max value of days is reached)
> but I can't figure out how to translate this into stata code.
> 
> One of my big problems is that I have many records for each date (i.e.,
> each baby born on 1 jan 1988 has a record for that day!) and I am stumped
> on how deal with this in a loop.  
> 
> I hope this makes sense and that someone is feeling generous enough to
> help me figure this out!
> 
> Many thanks
> Best wishes
> Sue
> PhD student
> London School of Hygiene & Tropical Medicine
> *
> *   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/

*
*   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/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index