lubridate convert format_ISO8601 年-周 (2022-W01)

lubridate convert format_ISO8601 year-Wweek (2022-W01)

我从 RKI 抓取了数据。在 table 中,日期传输符合 ISO8601 标准。目标是稍后使用 R 中的 ggplot 可视化数据。不幸的是,ggplot 无法处理这种格式。日期列中的示例。

library(lubridate)

w <- paste("2021-W", 46:52, sep = "")
w1 <-c("2022-W01")
ww <-c(w,w1)

df_ww<- format_ISO8601(as.Date(ww,format = "%YYYY-W%w“))

str(ww)
 chr [1:8] "2021-W46" "2021-W47" "2021-W48" "2021-W49" "2021-W50" "2021-W51" "2021-W52" "2022-W01“

df_ww
[1] NA NA NA NA NA NA NA NA

有解决此问题的想法吗?

尝试:

df_ww <- as.Date(paste0(gsub("\D", "", ww), 1), format="%Y%U%u")

输出:

> df_ww
[1] "2021-11-15" "2021-11-22" "2021-11-29" "2021-12-06" "2021-12-13" "2021-12-20" "2021-12-27" "2022-01-03"

更新:

好的,那么:

df_ww <- gsub("W", "", ww)

输出:

[1] "2021-46" "2021-47" "2021-48" "2021-49" "2021-50" "2021-51" "2021-52" "2022-01"