[R] How to get week of the year, scale 1-52?
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Sat Mar 22 15:57:08 CET 2008
Eik Vettorazzi wrote:
> But usually weeks start with a Monday. So what should happen when new
> year isn't on a Monday? format(days, "%W") puts the first Monday of the
> year in the first week, which makes sense.
>
>
No it doesn't. Well, it does, but it will only match our planning
calendars in some years. For ISO dates, the rule is that the week
crossing New Year belongs to the year containing the majority of its
days. Consider the following:
> x <- as.Date(paste(1999:2009, "-12-31", sep=""))
> cbind(date=format(x), ISOdate=format(x, format="%G: Week %V, day %u"))
date ISOdate
[1,] "1999-12-31" "1999: Week 52, day 5"
[2,] "2000-12-31" "2000: Week 52, day 7"
[3,] "2001-12-31" "2002: Week 01, day 1"
[4,] "2002-12-31" "2003: Week 01, day 2"
[5,] "2003-12-31" "2004: Week 01, day 3"
[6,] "2004-12-31" "2004: Week 53, day 5"
[7,] "2005-12-31" "2005: Week 52, day 6"
[8,] "2006-12-31" "2006: Week 52, day 7"
[9,] "2007-12-31" "2008: Week 01, day 1"
[10,] "2008-12-31" "2009: Week 01, day 3"
[11,] "2009-12-31" "2009: Week 53, day 4"
> hth.
>
> Lauri Nikkinen schrieb:
>
>> Yeah, that's correct. I can accept that there is more than 52 weeks in
>> a year (:-)) but it's hard to accept that the first week e.g in this
>> example is 00 (year 2008). Should the first week be the first one, 1?
>>
>> -Lauri
>>
>> 2008/3/18, John Kane <jrkrideau at yahoo.ca>:
>>
>>
>>> 365/7 != 52. You have more than 52 weeks in each
>>> year.
>>>
>>>
>>> --- Lauri Nikkinen <lauri.nikkinen at iki.fi> wrote:
>>>
>>>
>>>
>>>> R users,
>>>>
>>>> I have a vector of dates
>>>>
>>>> days <- seq(as.Date("2007/1/1"),
>>>> as.Date("2008/1/31"), "days")
>>>>
>>>> and I would like to have week numbers from 1 to 52
>>>> for each year. How
>>>> do I do that? Now I get 00-53 using
>>>>
>>>> format(days, "%W")
>>>>
>>>>
>>>>
>>>>> range(format(days, "%W"))
>>>>>
>>>>>
>>>> [1] "00" "53"
>>>>
>>>> I have read "Date and Time Classes in R" (R news
>>>> 01/04 by Gabor
>>>> Grothendieck and Thomas Petzoldt) with no help.
>>>>
>>>> Thanks
>>>> Lauri
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained,
>>>> reproducible code.
>>>>
>>>>
>>>>
>>> Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail. Click on Options in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca
>>>
>>>
>>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list