将一周中的几周转换为日期

Mik*_*kko 8 r date type-conversion

我有一个数据集,包含从年初开始的周数(%W),我想将其转换为日期,以便在x轴上使用日期绘制它

dat <- structure(data.frame(week = c(22, 34, 15), year = c(2009, 2009, 2010), x = c(3.4, 5.2, 1.3)))
Run Code Online (Sandbox Code Playgroud)

我尝试根据之前的问题转换周数,但最终得到的"YYYY-10-01"是每个日期.

as.Date(paste("01", dat$week, dat$year, sep = "-"), format = "%d-%W-%Y")
Run Code Online (Sandbox Code Playgroud)

为什么这样做,怎么做对了?

jor*_*ran 12

试试这个:

as.Date(paste("1", dat$week, dat$year, sep = "-"), format = "%w-%W-%Y")
Run Code Online (Sandbox Code Playgroud)

一周和一年没有指定日期,所以你需要一个"日",但你需要"一周中的某一天",或者%w,而不是"一天中的某一天",或者%d.在这种情况下,我使用星期一(即1).此外,显然%w不喜欢领先的零.