Hallo Patrick I found quite usefull for working with weeks package ISOweek
https://cran.r-project.org/web/packages/ISOweek/index.html Cheers. Petr > -----Original Message----- > From: R-help <r-help-boun...@r-project.org> On Behalf Of Patrick > Giraudoux > Sent: Monday, February 22, 2021 5:24 PM > To: Uwe Ligges <lig...@statistik.tu-dortmund.de>; R mailing list <r-help@r- > project.org>; Bert Gunter <bgunter.4...@gmail.com> > Subject: Re: [R] strptime, date and conversion of week number into POSIX > > Thanks Uwe and Bert, > I got the essential now, and can manage. Date handling stays quite a > challenge with a variable number of weeks in a year, but I can understand > why. Means eye-control (or NA detection) of strptime conversion stays > necessary... > Best, > Patrick > > > Le 22/02/2021 à 17:09, Uwe Ligges a écrit : > > That monday does not exist. FOr the week before: > > > > strptime(paste0("2020-52","-1"),format="%Y-%W-%u") > > [1] "2020-12-28" > > > > One week later is no longer in 2020, so there is no 53th week. > > > > Best, > > Uwe Ligges > > > > > > > > > > > > On 22.02.2021 16:15, Patrick Giraudoux wrote: > >> Sorry to answer to myself, but the format was clearly incorrect in > >> the previous post. It should read, refering to the 1th day of the week: > >> > >> strptime(paste0(mydate,"-1"),format="%Y-%W-%u") > >> > >> It converts better, but with a NA on week 53 > >> > >>> strptime(paste0(pays$year_week,"-1"),format="%Y-%W-%u") > >> [1] "2020-01-06 CET" "2020-01-13 CET" "2020-01-20 CET" > >> "2020-01-27 CET" > >> [5] "2020-02-03 CET" "2020-02-10 CET" "2020-02-17 CET" > >> "2020-02-24 CET" > >> [9] "2020-03-02 CET" "2020-03-09 CET" "2020-03-16 CET" > >> "2020-03-23 CET" > >> [13] "2020-03-30 CEST" "2020-04-06 CEST" "2020-04-13 CEST" > >> "2020-04-20 CEST" > >> [17] "2020-04-27 CEST" "2020-05-04 CEST" "2020-05-11 CEST" > >> "2020-05-18 CEST" > >> [21] "2020-05-25 CEST" "2020-06-01 CEST" "2020-06-08 CEST" > >> "2020-06-15 CEST" > >> [25] "2020-06-22 CEST" "2020-06-29 CEST" "2020-07-06 CEST" > >> "2020-07-13 CEST" > >> [29] "2020-07-20 CEST" "2020-07-27 CEST" "2020-08-03 CEST" > >> "2020-08-10 CEST" > >> [33] "2020-08-17 CEST" "2020-08-24 CEST" "2020-08-31 CEST" > >> "2020-09-07 CEST" > >> [37] "2020-09-14 CEST" "2020-09-21 CEST" "2020-09-28 CEST" > >> "2020-10-05 CEST" > >> [41] "2020-10-12 CEST" "2020-10-19 CEST" "2020-10-26 CET" "2020-11-02 > >> CET" > >> [45] "2020-11-09 CET" "2020-11-16 CET" "2020-11-23 CET" "2020-11-30 > >> CET" > >> [49] "2020-12-07 CET" "2020-12-14 CET" "2020-12-21 CET" "2020-12-28 > >> CET" > >> [53] NA "2021-01-04 CET" "2021-01-11 CET" "2021-01-18 > >> CET" > >> [57] "2021-01-25 CET" "2021-02-01 CET" "2021-02-08 CET" > >> Warning message: > >> In strptime(paste0(pays$year_week, "-1"), format = "%Y-%W-%u") : > >> (0-based) yday 369 in year 2020 is invalid > >> > >> > >> Any idea on how to handle this ? > >> > >> > >> > >> > >> Le 22/02/2021 à 15:26, Patrick Giraudoux a écrit : > >>> > >>> Dear all, > >>> > >>> I have a trouble trying to convert dates given in character to POSIX. > >>> The date is expressed as a year then the week number e.g. "2020-01" > >>> (first week of 2020). I thought is can be converted as following: > >>> > >>> strptime(mydate,format="%Y-%W") > >>> > >>> %W refering to the week of the year as decimal number (00–53) using > >>> Monday as the first day of week (and typically with the first Monday > >>> of the year as day 1 of week 1), as indicated in the doc. > >>> > >>> However, I got this result, with the month fixed to 02 (february) > >>> and day 22 (only the year is converted correctly): > >>> > >>> strptime(mydate,format="%Y-%W") [1] "2020-02-22 CET" "2020-02-22 > CET" > >>> "2020-02-22 CET" "2020-02-22 CET" [5] "2020-02-22 CET" "2020-02-22 > >>> CET" "2020-02-22 CET" "2020-02-22 CET" [9] "2020-02-22 CET" > >>> "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" [13] "2020-02-22 > >>> CET" "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" [17] > >>> "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" > >>> [21] "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 > >>> CET" [25] "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" > >>> "2020-02-22 CET" [29] "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 > >>> CET" "2020-02-22 CET" [33] "2020-02-22 CET" "2020-02-22 CET" > >>> "2020-02-22 CET" "2020-02-22 CET" [37] "2020-02-22 CET" "2020-02-22 > >>> CET" "2020-02-22 CET" "2020-02-22 CET" [41] "2020-02-22 CET" > >>> "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" [45] "2020-02-22 > >>> CET" "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" [49] > >>> "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" "2020-02-22 CET" > >>> [53] "2020-02-22 CET" "2021-02-22 CET" "2021-02-22 CET" "2021-02-22 > >>> CET" [57] "2021-02-22 CET" "2021-02-22 CET" "2021-02-22 CET" > >>> > >>> You'll find below a dump of "mydate" you can copy and paster if you > >>> need a try > >>> > >>> Any hint welcome... > >>> > >>> Best, > >>> > >>> Patrick > >>> > >>> mydate <- > >>> c("2020-01", "2020-02", "2020-03", "2020-04", "2020-05", "2020-06", > >>> "2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", > >>> "2020-13", "2020-14", "2020-15", "2020-16", "2020-17", "2020-18", > >>> "2020-19", "2020-20", "2020-21", "2020-22", "2020-23", "2020-24", > >>> "2020-25", "2020-26", "2020-27", "2020-28", "2020-29", "2020-30", > >>> "2020-31", "2020-32", "2020-33", "2020-34", "2020-35", "2020-36", > >>> "2020-37", "2020-38", "2020-39", "2020-40", "2020-41", "2020-42", > >>> "2020-43", "2020-44", "2020-45", "2020-46", "2020-47", "2020-48", > >>> "2020-49", "2020-50", "2020-51", "2020-52", "2020-53", "2021-01", > >>> "2021-02", "2021-03", "2021-04", "2021-05", "2021-06") > >>> > >> > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________________________ > >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > >> 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. > >> > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.
______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.