[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: st: Calendar weeks
Nick Cox <email@example.com>
RE: st: Calendar weeks
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.
Many thanks Nick. That IS more elegant.
De : firstname.lastname@example.org [mailto:email@example.com] 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.
On Wed, Feb 15, 2012 at 9:04 AM, Charles Vellutini <firstname.lastname@example.org> 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: