Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

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

From |
Nick Cox <n.j.cox@durham.ac.uk> |

To |
"'statalist@hsphsun2.harvard.edu'" <statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: Calendar weeks |

Date |
Wed, 15 Feb 2012 11:48:38 +0000 |

Thanks. On checking I see that the examples in SJ 10: 602-605 (2010) do it another way, which I regard as fine. The underlying point is that Stata provides so many functions that often it just needs calls to one or two existing functions to get what you want in this territory. Nick n.j.cox@durham.ac.uk Charles Vellutini Many thanks Nick. That IS more elegant. -----Message d'origine----- De : owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] De la part de Nick Cox 0. I hadn't noticed -epiweek- (SSC) -- please remember to explain _where_ user-written programs you refer to come from -- but you could just change the code in a cloned version. 1. See for a general review Nicholas J. Cox Stata tip 68: Week assumptions The Stata Journal Volume 10 Number 4: pp. 682-685 2. Suppose you have daily dates and a year variable then week numbering within a year for weeks starting on Mondays is given by bysort year (dailydate) : gen weekno = sum(dow(dailydate) == 1) With this rule any days before the first Monday in a given year are labelled 0. If you want week numbering always to start at 1 the fix will be something like replace weekno = weekno + 1 if dow(mdy(1,1,year)) != 1 3. You don't say what you expect to happen for weeks that begin in one calendar year and finish in the next. The start of the week for the current day is just gen monday = dailydate - cond(dow(dailydate) == 0, 6, dow(dailydate) - 1) In many ways the simplest system is to label weeks by the Mondays that start them; that cuts out the overlap issue. Nick On Wed, Feb 15, 2012 at 9:04 AM, Charles Vellutini <charles.vellutini@ecopa.com> wrote: > Sorry if this has been asked before (could not find it though): is there a function to compute the calendar week number (that is: the week starting on Monday and ending on Sunday) for any given date, or alternatively to compute the Monday of the week that date belongs to -- as opposed to the standard Stata approach to weeks (where the first week of the year is made of the first 7 days of the years, regardless of the day of the week of the first day of the year, and so on, if I am not mistaken). > > I am aware of user-written -epiweek- but that defines a week as starting on Sunday and ending on Saturday, so that won't work for me. * * 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/

**References**:**st: Calendar weeks***From:*Charles Vellutini <charles.vellutini@ecopa.com>

**Re: st: Calendar weeks***From:*Nick Cox <njcoxstata@gmail.com>

**RE: st: Calendar weeks***From:*Charles Vellutini <charles.vellutini@ecopa.com>

- Prev by Date:
**st: Alternate to Hausman** - Next by Date:
**Re: st: clarity on varsoc command** - Previous by thread:
**RE: st: Calendar weeks** - Next by thread:
**st: By with forvalues** - Index(es):