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.


______________________________________________
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.

Reply via email to