Bookmark and Share

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]

RE: st: Calendar weeks


From   Nick Cox <[email protected]>
To   "'[email protected]'" <[email protected]>
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 
[email protected] 

Charles Vellutini

Many thanks Nick. That IS more elegant.

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] 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 <[email protected]> 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/


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