Bookmark and Share

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

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

RE: st: Calendar weeks

From   Charles Vellutini <>
To   "" <>
Subject   RE: st: Calendar weeks
Date   Wed, 15 Feb 2012 03:31:28 -0800

Many thanks Nick. That IS more elegant.

-----Message d'origine-----
De : [] De la part de Nick Cox
Envoyé : mercredi 15 février 2012 10:38
À :
Objet : Re: st: Calendar weeks

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.


On Wed, Feb 15, 2012 at 9:04 AM, Charles Vellutini <> 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:

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index