[R] Alternative to extended recode sintax? Bug?

Luca Meyer lucam1968 at gmail.com
Mon Dec 20 06:54:42 CET 2010


All right, I get it now: lubridate's week() define weeks from Thursday till the following Wednesday. You'd probably agree with me that it's a bit strange what it is going to do over the turn of the year:

> y <- as.POSIXct(c("2010-12-27","2010-12-28","2010-12-29","2010-12-30","2010-12-31","2011-01-01","2011-01-02","2011-01-03","2011-01-04","2011-01-05","2011-01-06","2011-01-07","2011-01-08","2011-01-09","2011-01-10","2011-01-11","2010-01-12","2010-01-13","2010-01-14"))
> week(y)
 [1] 52 52 52 53 53  1  1  1  1  1  1  2  2  2  2  2  2  2  3

Why would the first week of the year be made of 6 days and the turn from week 1 to week 2 on the night between Thursday and Friday and not Wednesday and Friday like every other week?

Cheers,
Luca



Il giorno 19/dic/2010, alle ore 18.14, Uwe Ligges ha scritto:

> 
> 
> On 19.12.2010 13:20, David Winsemius wrote:
>> 
>> On Dec 19, 2010, at 5:11 AM, Luca Meyer wrote:
>> 
>>> Something goes wrong with the week function of the lubridate package:
>>> 
>>>> x= as.POSIXct(factor(c("2010-12-15 17:28:27",
>>> + "2010-12-15 17:32:34",
>>> + "2010-12-15 18:48:39",
>>> + "2010-12-15 19:25:00",
>>> + "2010-12-16 08:00:00",
>>> + "2010-12-16 08:25:49",
>>> + "2010-12-16 09:00:00")))
>>>> require(lubridate)
>> 
>>>> weekdays(x)
>>> [1] "Mercoledì" "Mercoledì" "Mercoledì" "Mercoledì" "Giovedì"
>>> "Giovedì" "Giovedì"
>>>> week(x)
>>> [1] 50 50 50 50 51 51 51
>> 
>> But 2010-12-15 is a Wednesday and 2010-12-16 is a Thursday.
>> 
> 
> 
> Together with the description of ?week this shows that lubridate's week() function works as documented rather than as expected by Luca Meyer.
> 
> Uwe Ligges



More information about the R-help mailing list